sql >> Databasteknik >  >> RDS >> Oracle

Hur man använder google translate URL i Oracle plsql

Vi känner alla till google translate som kan hjälpa till att översätta från ett språk till ett annat.

Vi kommer att undersöka möjligheten att använda Google-funktionalitet i Oracle plsql i Oracle-databasen för att få översättningen gjord.

  1. Först måste vi skapa nätverksåtkomstlista som krävs från Oracle 11g
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
acl => 'google_translatorapi.xml',
description => 'Google Translator Access',
principal => 'SCOTT',
is_grant => true,
privilege => 'connect'
);
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'google_translatorapi.xml',
principal => 'SCOTT',
is_grant => true,
privilege => 'resolve'
);
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
acl => 'google_translator.xml',
host => 'translate.google.com'
);
COMMIT;
END;
/

2) Nästa google   URL https://translate.google.com/ är https, så vi måste skapa en Oracle-plånbok för att lagra offentliga certifikat för att komma åt den

Ladda ned Googles offentliga certifikat enligt nedanstående procedur

a) Det enklaste sättet att göra detta är att använda en webbläsare. Exemplet nedan använder webbläsaren IE.

Använd webbläsaren och gå till URL:en du försöker komma åt från PL/SQL. I det här fallet  https://translate.google.com/ Klicka på låsikonen i webbadressfältet för att visa webbplatsidentifieringen  och klicka på fliken "visa certifikat".

Klicka på länken "Certifikatinformation" och klicka på fliken "Certifieringsväg" i dialogrutan som visas.

För rotnoden i "Certifieringssökvägen", markera noden och klicka på knappen "Visa certifikat". I den resulterande dialogrutan klickar du på fliken "Detaljer" och klickar på knappen "Kopiera till fil..." för att spara certifikatinformationen.

Gör följande i den resulterande guiden.

  • Klicka på knappen "Nästa" på välkomstskärmen.
  • Välj alternativet "Base-64-kodad X.509 (.CER)" och klicka på knappen "Nästa". Andra format fungerar, men jag har tyckt att detta är det mest konsekventa.
  • Ange lämpligt filnamn och klicka på knappen "Nästa".
  • Klicka på knappen "Slutför".

Viktig anmärkning:I IE kan vi se Kopiera till fil som inaktiverad. Om det är så, starta IE som administratör och du kommer att se det som aktiverat

3)  Skapa Oracle-plånbok och importera detta certifikat till den

$orapki plånbok skapa -plånbok /home/oracle -pwd ora1_test

$ orapki wallet add -wallet /home/oracle -trusted_cert -cert /home/oracle/g1.cer -pwd ora1_test
Oracle PKI Tool :Version 11.2.0.4.0 – Produktion
Copyright (c) 2004 , 2013, Oracle och/eller dess dotterbolag. Alla rättigheter reserverade

4) Därefter måste vi översätta webbadressen genom sql eller plsql för att översätta text

$ sqlplus scott/toger

SQL*Plus:Release 11.2.0.4.0 Produktion mån 15 sep 15:14:32 2014

Copyright (c) 1982, 2013, Oracle. Alla rättigheter reserverade.

Ansluten till:
Oracle Database 11g Enterprise Edition version 11.2.0.4.0 – 64-bitars produktion
Med alternativen för partitionering, automatisk lagring, OLAP, datautvinning
och Real Application Testing

SQL> set definiera av
SQL> kolumn spanskt format A20
SQL> med t som (
2 välj 'fish' txt från dubbel union all
välj 'dog' txt från dual union all 3
4 välj 'cat' txt från dubbel
5 )
välj txt engelska,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) spanska
8 från (
9 välj txt,
10 httpuritype('http://translate.google.com/?hl=en&layout=1&eotf=1&sl=en&tl=es&text='||utl_url.escape(txt)||'#').getclob() tr
11 från t
12 )
13 /
FEL:
ORA-29273:HTTP-begäran misslyckades
ORA-06512:vid "SYS.UTL_HTTP" , rad 1817
ORA-29024:Certifikatvalideringsfel
ORA-06512:vid “SYS.HTTPURITYPE”, rad 34

Så det här kommer inte att fungera så här. vi måste ställa in Oracle-plånboken innan vi anropar den här proceduren

SQL> exec UTL_HTTP.SET_WALLET ('file:/home/oracle/','ora1_test');
PL/SQL procedure successfully completed.

SQL> set define off
SQL> column spanish format A20
SQL> with t as (
2 select 'fish' txt from dual union all
3 select 'dog' txt from dual union all
4 select 'cat' txt from dual
)
5 6 select txt english,
7 regexp_substr(tr,'<span id=result_box class="short_text"><span[^>]>(.)</span></span>',1,1,'i',1) spanish
8 from (
9 select txt,
10 httpuritype('http://translate.google.com/?hl=en&layout=1&eotf=1&sl=en&tl=es&text='||utl_url.escape(txt)||'#').getclob() tr
11 from t
12 )
13 /

ENGELSKA SPANSKA
—— ————
fish peces
hund perro
katt katt

Hoppas du gillar dessa steg om hur du använder google translate URL i Oracle plsql

Relaterade artiklar
Virtuellt index i Oracle :Vad är virtuellt index i Oracle? Användning, begränsning, fördel och hur man använder för att kontrollera förklara plan i Oracle-databas, Hidden parameter _USE_NOSEGMENT_INDEXES
Oracle Skapa tabell :Tabeller är den grundläggande enheten för datalagring i en Oracle-databas. Vi beskriver hur man använder Oracle-kommandot skapa tabell för att skapa tabell med främmande nyckel /primärnyckel
Oracle PLSQL-tabeller :Kolla in det här inlägget för en detaljerad beskrivning av PLSQL-tabeller. Hur man manipulerar den och arbetar med den i Oracle PLSQL-block och fördelar
ta bort dubbletter av rader i Oracle:Tips och sätt på hur man tar bort dubbletter av rader från Oracle-tabellen. Olika alternativ ges för att radera dubblettraderna utan några problem
approx_count_distinct
Oracle Date Functions :Kolla in det här inlägget för Oracle-datumfunktioner, Oracle-datumskillnad i år, Oracle-datumskillnad i dagar, Oracle-datumskillnad i månader.


  1. Kan jag använda en PDO-förberedd sats för att binda en identifierare (ett tabell- eller fältnamn) eller ett syntaxnyckelord?

  2. PostgreSQL-frågan körs snabbare med indexskanning, men motorn väljer hash join

  3. Byt namn på en primär nyckel i SQL Server (T-SQL)

  4. Oracle-leverantör för Oledb saknas i VS 2015 Shell