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.
- 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.