Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So verwenden Sie die Google Translate-URL in Oracle plsql

Wir alle kennen Google Translate, das beim Übersetzen von einer Sprache in eine andere helfen kann.

Wir werden die Option untersuchen, die Google-Funktionalität in Oracle plsql in der Oracle-Datenbank zu verwenden, um die Übersetzung zu erledigen.

  1. Zuerst müssen wir eine Netzwerkzugriffsliste erstellen, die von Oracle 11g benötigt wird
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) Die nächste Google   URL https://translate.google.com/ ist https, daher müssen wir ein Oracle Wallet erstellen, um ein öffentliches Zertifikat für den Zugriff darauf zu speichern

Laden Sie das öffentliche Google-Zertifikat mit dem folgenden Verfahren herunter

a) Am einfachsten geht das über einen Browser. Das folgende Beispiel verwendet den IE-Browser.

Rufen Sie mithilfe des Browsers die URL auf, auf die Sie von PL/SQL aus zugreifen möchten. In diesem Fall  https://translate.google.com/ Klicken Sie auf das Schlosssymbol in der URL-Leiste, um die Website-Identifikation anzuzeigen, und klicken Sie auf die Registerkarte "Zertifikat anzeigen".

Klicken Sie auf den Link „Zertifikatsinformationen“ und im daraufhin angezeigten Dialogfeld auf die Registerkarte „Zertifizierungspfad“.

Markieren Sie für den Stammknoten im „Zertifizierungspfad“ den Knoten und klicken Sie auf die Schaltfläche „Zertifikat anzeigen“. Klicken Sie im daraufhin angezeigten Dialogfeld auf die Registerkarte „Details“ und dann auf die Schaltfläche „In Datei kopieren…“, um die Zertifikatsinformationen zu speichern.

Gehen Sie im resultierenden Assistenten wie folgt vor.

  • Klicken Sie auf dem Willkommensbildschirm auf die Schaltfläche „Weiter“.
  • Wählen Sie die Option „Base-64-codiertes X.509 (.CER)“ und klicken Sie auf die Schaltfläche „Weiter“. Andere Formate funktionieren, aber ich habe festgestellt, dass dieses am konsistentesten ist.
  • Geben Sie einen geeigneten Dateinamen ein und klicken Sie auf die Schaltfläche „Weiter“.
  • Klicken Sie auf die Schaltfläche „Fertig stellen“.

Wichtiger Hinweis:Im IE wird Copy to File möglicherweise als deaktiviert angezeigt. Wenn dies der Fall ist, starten Sie bitte den IE als Administrator und Sie werden sehen, dass dies aktiviert ist

3)  Oracle-Wallet erstellen und dieses Zertifikat darin importieren

$orapki wallet create -wallet /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 und/oder seine verbundenen Unternehmen. Alle Rechte vorbehalten

4) Als nächstes müssen wir die gute URL über SQL oder Plsql übersetzen, um Text zu übersetzen

$ sqlplus scott/toger

SQL*Plus:Version 11.2.0.4.0 Produktion am Mo, 15. September 15:14:32 2014

Urheberrecht (c) 1982, 2013, Oracle. Alle Rechte vorbehalten.

Verbunden mit:
Oracle Database 11g Enterprise Edition Version 11.2.0.4.0 – 64-Bit-Produktion
Mit den Optionen Partitionierung, Automatische Speicherverwaltung, OLAP, Data Mining
und Real Application Testing

SQL> set define off
SQL> Spalte spanisches Format A20
SQL> with t as (
2 select 'fish' txt from dual union all
select 'dog' txt from dual union all 3
4 select 'cat' txt from dual
5 )
select txt english,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) spanisch
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 von t
12 )
13 /
FEHLER:
ORA-29273:HTTP-Anfrage fehlgeschlagen
ORA-06512:bei „SYS.UTL_HTTP“ , Zeile 1817
ORA-29024:Zertifikatvalidierungsfehler
ORA-06512:bei „SYS.HTTPURITYPE“, Zeile 34

Das wird also so nicht funktionieren. Wir müssen das Oracle-Wallet einstellen, bevor wir diese Prozedur aufrufen

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 /

ENGL SPANISCH
—— ————
Fischstücke
Hund Perro
Katze Katze

Ich hoffe, Ihnen gefallen diese Schritte zur Verwendung der Google Translate-URL in Oracle plsql

Verwandte Artikel
Virtual Index in Oracle :Was ist Virtual Index in Oracle? Verwendet, Einschränkungen, Vorteile und Verwendung zum Überprüfen des Explain-Plans in der Oracle-Datenbank, versteckter Parameter _USE_NOSEGMENT_INDEXES
Oracle Create-Tabelle:Tabellen sind die Grundeinheit der Datenspeicherung in einer Oracle-Datenbank. Wir behandeln die Verwendung des Oracle-Create-Table-Befehls um eine Tabelle mit Fremdschlüssel/Primärschlüssel zu erstellen
Oracle PLSQL-Tabellen:Sehen Sie sich diesen Beitrag an, um eine detaillierte Beschreibung zu PLSQL-Tabellen zu erhalten in Oracle:Tipps und Methoden zum Löschen doppelter Zeilen aus der Oracle-Tabelle. Es werden verschiedene Optionen angeboten, um die doppelten Zeilen ohne Probleme zu löschen Monate.