Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como usar o URL do google translate no Oracle plsql


Todos nós conhecemos o google tradutor, que pode ajudar a traduzir de um idioma para outro.

Vamos explorar a opção de usar a funcionalidade do google no oracle plsql no banco de dados oracle para fazer a tradução.
  1. Primeiro, precisamos criar a lista de acesso à rede que é exigida do 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) O próximo google   URL https://translate.google.com/ é https, então precisamos criar a carteira oracle para armazenar o certificado público para acessá-lo

Faça o download do certificado público do Google usando o procedimento abaixo

a) A maneira mais fácil de fazer isso é usando um navegador. O exemplo abaixo usa o navegador IE.

Usando o navegador, vá para a URL que você está tentando acessar a partir do PL/SQL. Nesse caso,  https://translate.google.com/ Clique no ícone de cadeado na barra de URL para exibir a identificação do site e clique na guia "ver certificado".

Clique no link “Informações do certificado” e clique na guia “Caminho da certificação” na caixa de diálogo resultante.



Para o nó raiz no “Caminho de certificação”, destaque o nó e clique no botão “Visualizar certificado”. Na caixa de diálogo resultante, clique na guia “Detalhes” e clique no botão “Copiar para arquivo…” para salvar as informações do certificado.

No assistente resultante, faça o seguinte.
  • Clique no botão "Avançar" na tela de boas-vindas.
  • Selecione a opção “X.509 codificado em Base-64 (.CER)” e clique no botão “Avançar”. Outros formatos funcionam, mas acho que esse é o mais consistente.
  • Digite o nome do arquivo adequado e clique no botão "Avançar".
  • Clique no botão "Concluir".

Nota importante:No IE, podemos ver Copiar para arquivo como desabilitado. Se for assim, inicie o IE como administrador e você verá isso como habilitado

3) Crie a carteira Oracle e importe este certificado para ela

$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
Ferramenta Oracle PKI:Versão 11.2.0.4.0 – Produção
Copyright (c) 2004 , 2013, Oracle e/ou suas afiliadas. Todos os direitos reservados

4) Em seguida, precisamos do bom traduzir URL através de sql ou plsql para traduzir o texto

$ sqlplus scott/toger

SQL*Plus:Lançamento 11.2.0.4.0 Produção em Mon Set 15 15:14:32 2014

Direitos autorais (c) 1982, 2013, Oracle. Todos os direitos reservados.



Conectado a:
Oracle Database 11g Enterprise Edition Versão 11.2.0.4.0 – Produção de 64 bits
Com as opções de Particionamento, Gerenciamento Automático de Armazenamento, OLAP, Mineração de Dados
e Real Application Testing

SQL> set define off
SQL> coluna formato espanhol A20
SQL> com t como (
2 selecione 'fish' txt de dual union all
selecione 'dog' txt de dual união todos os 3
4 selecione 'cat' txt de dual
5 )
selecione txt inglês,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) espanhol
8 de (
9 selecione 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 /
ERRO:
ORA-29273:Falha na solicitação HTTP
ORA-06512:em “SYS.UTL_HTTP” , linha 1817
ORA-29024:Falha na validação do certificado
ORA-06512:em “SYS.HTTPURITYPE”, linha 34

Então isso não vai funcionar assim. precisamos definir a carteira oracle, antes de chamar este procedimento
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ÊS ESPANHOL
—— ————
peixe de peixe
cachorro perro
gato gato

Espero que você goste destas etapas sobre Como usar o URL do google translate no Oracle plsql

Artigos relacionados
Índice Virtual no Oracle:O que é Índice Virtual no Oracle? Usos, limitação, vantagem e como usar para verificar o plano de explicação no banco de dados Oracle, parâmetro oculto _USE_NOSEGMENT_INDEXES
Oracle Create table :As tabelas são a unidade básica de armazenamento de dados em um banco de dados Oracle. para criar tabela com chave estrangeira/chave primária
Tabelas Oracle PLSQL:Confira este post para a descrição detalhada das Tabelas PLSQL.Como manipulá-la e trabalhar nela no bloco Oracle PLSQL e benefícios
excluir linhas duplicadas in oracle:Dicas e maneiras de como excluir linhas duplicadas da tabela oracle. Várias opções são fornecidas para excluir as linhas duplicadas sem problemas
approx_count_distinct
Funções de data do Oracle:Confira esta postagem para funções de data do oracle, diferença de data do oracle em anos, diferença de data do oracle em dias, diferença de data do oracle em meses.