Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser l'URL de Google Translate dans Oracle plsql

Nous connaissons tous google translate qui peut aider à traduire d'une langue à l'autre.

Nous explorerons la possibilité d'utiliser la fonctionnalité google dans oracle plsql dans la base de données oracle pour effectuer la traduction.

  1. Nous devons d'abord créer la liste d'accès au réseau qui est requise à partir d'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) L'URL suivante de google https://translate.google.com/ est https, nous devons donc créer un portefeuille oracle pour stocker le certificat public afin d'y accéder

Téléchargez le certificat public Google en suivant la procédure ci-dessous

a) La façon la plus simple de le faire est d'utiliser un navigateur. L'exemple ci-dessous utilise le navigateur IE.

À l'aide du navigateur, accédez à l'URL à laquelle vous tentez d'accéder à partir de PL/SQL. Dans ce cas, https://translate.google.com/ Cliquez sur l'icône de cadenas dans la barre d'URL pour afficher l'identification du site Web et cliquez sur l'onglet "Afficher le certificat".

Cliquez sur le lien "Informations sur le certificat" et cliquez sur l'onglet "Chemin de certification" dans la boîte de dialogue résultante.

Pour le nœud racine dans le « Chemin de certification », mettez en surbrillance le nœud et cliquez sur le bouton « Afficher le certificat ». Dans la boîte de dialogue résultante, cliquez sur l'onglet "Détails" et cliquez sur le bouton "Copier dans un fichier…" pour enregistrer les informations du certificat.

Dans l'assistant résultant, procédez comme suit.

  • Cliquez sur le bouton "Suivant" sur l'écran d'accueil.
  • Sélectionnez l'option "Base-64 encodé X.509 (.CER)" et cliquez sur le bouton "Suivant". D'autres formats fonctionnent, mais j'ai trouvé celui-ci le plus cohérent.
  • Entrez un nom de fichier approprié et cliquez sur le bouton "Suivant".
  • Cliquez sur le bouton "Terminer".

Remarque importante :Sur IE , nous pouvons voir Copier dans un fichier désactivé. Si tel est le cas, veuillez démarrer IE en tant qu'administrateur et vous verrez cela comme activé

3) Créez un portefeuille Oracle et importez-y ce certificat

$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 – Production
Copyright (c) 2004 , 2013, Oracle et/ou ses filiales. Tous droits réservés

4) Ensuite, nous avons besoin de la bonne URL de traduction via sql ou plsql pour traduire le texte

$ sqlplus scott/toger

SQL*Plus :production de la version 11.2.0.4.0 le lundi 15 septembre 15:14:32 2014

Copyright (c) 1982, 2013, Oracle. Tous droits réservés.

Connecté à :
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production 64 bits
Avec les options de partitionnement, de gestion automatique du stockage, d'OLAP, d'exploration de données
et de test d'application réelle

SQL> définir définir off
SQL> format espagnol de la colonne A20
SQL> avec t comme (
2 sélectionner 'poisson' txt de la double union tout
sélectionner 'chien' txt de la double union all 3
4 select 'cat' txt from dual
5 )
select txt anglais,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) espagnol
8 à partir de (
9 sélectionner txt,
10 httpuritype('http://translate.google.com/?hl=fr&layout=1&eotf=1&sl=fr&tl=es&text='||utl_url.escape(txt)||'#').getclob() tr
11 à partir du t
12 )
13 /
ERREUR :
ORA-29273 :Échec de la requête HTTP
ORA-06512 :à « SYS.UTL_HTTP » , ligne 1817
ORA-29024 :Échec de la validation du certificat
ORA-06512 :à "SYS.HTTPURITYPE", ligne 34

Cela ne fonctionnera donc pas comme ça. nous devons définir le portefeuille oracle avant d'appeler cette procédure

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 SPANISH
—— ————
poisson peces
chien perro
chat chat

J'espère que vous aimez ces étapes sur Comment utiliser Google Translate URL dans Oracle plsql

Articles connexes
L'index virtuel dans Oracle :qu'est-ce que l'index virtuel dans Oracle ? Utilisations, limites, avantages et comment utiliser pour vérifier le plan d'explication dans la base de données Oracle, paramètre caché _USE_NOSEGMENT_INDEXES
Oracle Create table :les tables sont l'unité de base de stockage de données dans une base de données Oracle. nous expliquons comment utiliser la commande Oracle create table créer une table avec une clé étrangère/clé primaire
Tables Oracle PLSQL :consultez cet article pour la description détaillée des tables PLSQL. dans oracle :astuces et méthodes pour supprimer les lignes en double de la table oracle. Diverses options sont proposées pour supprimer les lignes en double sans aucun problème mois.