Oracle
 sql >> Database >  >> RDS >> Oracle

Come utilizzare l'URL di Google Translate in Oracle plsql

Conosciamo tutti Google Translate che può aiutare a tradurre da una lingua all'altra.

Esploreremo l'opzione per utilizzare la funzionalità di Google in Oracle plsql nel database di Oracle per eseguire la traduzione.

  1. Per prima cosa dobbiamo creare un elenco di accesso alla rete richiesto da 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) Il prossimo google  URL https://translate.google.com/ è https, quindi è necessario creare un portafoglio Oracle per archiviare il certificato pubblico per accedervi

Scarica il certificato pubblico di Google utilizzando la procedura seguente

a) Il modo più semplice per farlo è utilizzare un browser. L'esempio seguente utilizza il browser IE.

Utilizzando il browser, vai all'URL a cui stai tentando di accedere da PL/SQL. In questo caso  https://translate.google.com/ Fai clic sull'icona del lucchetto nella barra degli URL per visualizzare l'identificazione del sito Web e fai clic sulla scheda "visualizza certificato".

Fare clic sul collegamento "Informazioni sul certificato" e fare clic sulla scheda "Percorso di certificazione" nella finestra di dialogo risultante.

Per il nodo radice nel "Percorso di certificazione", evidenziare il nodo e fare clic sul pulsante "Visualizza certificato". Nella finestra di dialogo risultante, fai clic sulla scheda "Dettagli" e fai clic sul pulsante "Copia su file..." per salvare le informazioni sul certificato.

Nella procedura guidata risultante, procedi come segue.

  • Fai clic sul pulsante "Avanti" nella schermata di benvenuto.
  • Seleziona l'opzione "X.509 con codifica Base-64 (.CER)" e fai clic sul pulsante "Avanti". Altri formati funzionano, ma ho riscontrato che questo è il più coerente.
  • Inserisci il nome del file adatto e fai clic sul pulsante "Avanti".
  • Fai clic sul pulsante "Fine".

Nota importante:su IE , potremmo vedere Copia su file come disabilitato. Se è così, avvia IE come amministratore e lo vedrai come abilitato

3)  Crea il portafoglio Oracle e importa in esso questo certificato

$ portafoglio orapki create -wallet /home/oracle -pwd ora1_test

$ portafoglio orapki add -wallet /home/oracle -trusted_cert -cert /home/oracle/g1.cer -pwd ora1_test
Strumento Oracle PKI:versione 11.2.0.4.0 – Produzione
Copyright (c) 2004 , 2013, Oracle e/o le sue affiliate. Tutti i diritti riservati

4) Successivamente abbiamo bisogno del buon URL di traduzione tramite sql o plsql per tradurre il testo

$ sqlplus scott/toger

SQL*Plus:produzione versione 11.2.0.4.0 lunedì 15 settembre 15:14:32 2014

Copyright (c) 1982, 2013, Oracle. Tutti i diritti riservati.

Connesso a:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – Produzione a 64 bit
Con le opzioni di partizionamento, gestione automatica dell'archiviazione, OLAP, data mining
e test di applicazioni reali

SQL> set definisce off
SQL> colonna formato spagnolo A20
SQL> con t come (
2 seleziona 'fish' txt da dual union all
seleziona 'dog' txt da dual union all 3
4 seleziona 'cat' txt da dual
5 )
seleziona txt inglese,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) spagnolo
8 da (
9 seleziona 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 da t
12 )
13 /
ERRORE:
ORA-29273:richiesta HTTP non riuscita
ORA-06512:in "SYS.UTL_HTTP" , riga 1817
ORA-29024:convalida del certificato non riuscita
ORA-06512:in "SYS.HTTPURITYPE", riga 34

Quindi questo non funzionerà in questo modo. dobbiamo impostare il portafoglio di Oracle, prima di chiamare questa procedura

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 /

INGLESE SPAGNOLO
—— ————
pesce di pesce
cane perro
gatto gatto

Spero ti piacciano questi passaggi su Come utilizzare l'URL di Google Translate in Oracle plsql

Articoli correlati
Indice virtuale in Oracle:cos'è l'indice virtuale in Oracle? Usi, limitazioni, vantaggi e come utilizzare per verificare il piano spiegato nel database Oracle, parametro nascosto _USE_NOSEGMENT_INDEXES
Oracle Create table:le tabelle sono l'unità di base dell'archiviazione dei dati in un database Oracle. Descriviamo come utilizzare il comando Oracle create table per creare una tabella con chiave esterna/chiave primaria
Tabelle Oracle PLSQL:dai un'occhiata a questo post per la descrizione dettagliata sulle tabelle PLSQL. Come manipolarlo e lavorarci sopra nel blocco e vantaggi Oracle PLSQL
elimina le righe duplicate in Oracle:suggerimenti e modi su come eliminare le righe duplicate dalla tabella Oracle. Sono disponibili varie opzioni per eliminare le righe duplicate senza problemi mesi.