sql >> Base de Datos >  >> RDS >> Oracle

Cómo usar la URL del traductor de Google en Oracle plsql

Todos conocemos el traductor de Google, que puede ayudar a traducir de un idioma a otro.

Exploraremos la opción de utilizar la funcionalidad de Google en Oracle plsql en la base de datos de Oracle para realizar la traducción.

  1. Primero necesitamos crear una lista de acceso a la red que se requiere de 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) La siguiente google   URL https://translate.google.com/ es https, por lo que debemos crear una billetera Oracle para almacenar el certificado público para acceder a ella

Descargue el certificado público de Google utilizando el siguiente procedimiento

a) La forma más fácil de hacer esto es usando un navegador. El siguiente ejemplo utiliza el navegador IE.

Con el navegador, vaya a la URL a la que intenta acceder desde PL/SQL. En este caso, https://translate.google.com/ Haga clic en el icono de candado en la barra de URL para mostrar la identificación del sitio web y haga clic en la pestaña "ver certificado".

Haga clic en el enlace "Información del certificado" y haga clic en la pestaña "Ruta de certificación" en el cuadro de diálogo resultante.

Para el nodo raíz en la "Ruta de certificación", resalte el nodo y haga clic en el botón "Ver certificado". En el cuadro de diálogo resultante, haga clic en la pestaña "Detalles" y haga clic en el botón "Copiar a archivo..." para guardar la información del certificado.

En el asistente resultante, haga lo siguiente.

  • Haga clic en el botón "Siguiente" en la pantalla de bienvenida.
  • Seleccione la opción "X.509 codificado en Base-64 (.CER)" y haga clic en el botón "Siguiente". Otros formatos funcionan, pero he encontrado que este es el más consistente.
  • Ingrese un nombre de archivo adecuado y haga clic en el botón "Siguiente".
  • Haga clic en el botón "Finalizar".

Nota importante:en IE, es posible que veamos Copiar a archivo como deshabilitado. Si es así, inicie IE como administrador y lo verá habilitado

3)  Cree una billetera de Oracle e importe este certificado en ella

$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
Herramienta Oracle PKI:Versión 11.2.0.4.0 – Producción
Copyright (c) 2004 , 2013, Oracle y/o sus filiales. Todos los derechos reservados

4) A continuación, necesitamos la buena URL de traducción a través de sql o plsql para traducir texto

$ sql más scott/toger

SQL*Plus:Versión 11.2.0.4.0 Producción el lunes 15 de septiembre a las 15:14:32 de 2014

Copyright (c) 1982, 2013, Oracle. Todos los derechos reservados.

Conectado a:
Oracle Database 11g Enterprise Edition, versión 11.2.0.4.0:producción de 64 bits
Con las opciones de partición, administración automática de almacenamiento, OLAP, minería de datos
y pruebas de aplicaciones reales

SQL> establecer definir off
SQL> columna formato español A20
SQL> con t como (
2 seleccione 'pez' txt de unión dual todos
seleccione 'perro' txt de dual une los 3
4 selecciona 'gato' txt de dual
5 )
selecciona txt english,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) español
8 de (
9 seleccionar 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 de t
12 )
13 /
ERROR:
ORA-29273:Solicitud HTTP fallida
ORA-06512:en “SYS.UTL_HTTP” , línea 1817
ORA-29024:Fallo de validación del certificado
ORA-06512:en “SYS.HTTPURITYPE”, línea 34

Así que esto no funcionará así. necesitamos configurar la billetera Oracle, antes de llamar a este procedimiento

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 /

INGL ESPAÑOL
—— ————
peces peces
dog perro
cat cat

Espero que te gusten estos pasos sobre cómo usar la URL del traductor de Google en Oracle plsql

Artículos relacionados
Índice virtual en Oracle:¿Qué es el índice virtual en Oracle? Usos, limitaciones, ventajas y cómo usar para comprobar el plan de explicación en la base de datos Oracle, parámetro oculto _USE_NOSEGMENT_INDEXES
Oracle Create table:las tablas son la unidad básica de almacenamiento de datos en una base de datos Oracle. Cubrimos cómo usar el comando Oracle create table para crear una tabla con clave externa/clave principal
Tablas PLSQL de Oracle:consulte esta publicación para obtener una descripción detallada de las tablas PLSQL. Cómo manipularlas y trabajar en ellas en bloques y beneficios de PLSQL de Oracle
eliminar filas duplicadas en Oracle:Consejos y formas sobre cómo eliminar filas duplicadas de la tabla de Oracle. Se ofrecen varias opciones para eliminar las filas duplicadas sin ningún problema
approx_count_distinct
Funciones de fecha de Oracle:consulte esta publicación para conocer las funciones de fecha de Oracle, la diferencia de fecha de Oracle en años, la diferencia de fecha de Oracle en días, la diferencia de fecha de Oracle en meses.