Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да използвате URL адрес на Google Translate в Oracle plsql

Всички познаваме Google Translate, който може да помогне за превода от един език на друг.

Ще проучим опцията за използване на функционалността на google в oracle plsql в базата данни на oracle, за да извършим превода.

  1. Първо трябва да създадем списък за достъп до мрежата, който се изисква от 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) Следващият google   URL https://translate.google.com/ е https, така че трябва да създадем портфейл на oracle, за да съхраняваме публичен сертификат за достъп до него

Изтеглете публичен сертификат на Google, като използвате процедурата по-долу

а) Най-лесният начин да направите това е да използвате браузър. Примерът по-долу използва браузъра IE.

С помощта на браузъра отидете на URL адреса, до който се опитвате да получите достъп от PL/SQL. В този случай  https://translate.google.com/ Щракнете върху иконата за заключване в URL лентата, за да се покаже идентификацията на уебсайта , и кликнете върху раздела „Преглед на сертификата“.

Щракнете върху връзката „Информация за сертификата“ и щракнете върху раздела „Път на сертифициране“ в получения диалогов прозорец.

За основния възел в „Път на сертифициране“, маркирайте възела и щракнете върху бутона „Преглед на сертификата“. В получения диалогов прозорец щракнете върху раздела „Подробности“ и щракнете върху бутона „Копиране във файл...“, за да запишете информацията за сертификата.

В резултатния съветник направете следното.

  • Щракнете върху бутона „Напред“ на екрана за добре дошли.
  • Изберете опцията „Base-64 кодиран X.509 (.CER)“ и щракнете върху бутона „Напред“. Други формати работят, но установих, че това е най-последователно.
  • Въведете подходящо име на файл и щракнете върху бутона „Напред“.
  • Щракнете върху бутона „Край“.

Важна забележка:В IE може да видим Копиране във файла като деактивирано. Ако е така, моля, стартирайте IE като администратор и ще видите това като активирано

3)  Създайте портфейл на Oracle и импортирайте този сертификат в него

$orapki портфейл create -wallet /home/oracle -pwd ora1_test

$ orapki портфейл add -wallet /home/oracle -trusted_cert -cert /home/oracle/g1.cer -pwd ora1_test
Oracle PKI инструмент:Версия 11.2.0.4.0 – Производство
Авторски права (c) 2004 , 2013, Oracle и/или неговите филиали. Всички права запазени

4) След това трябва да преведем добър URL адрес чрез sql или plsql, за да преведем текст

$ sqlplus scott/toger

SQL*Plus:Издание 11.2.0.4.0 Производство в понеделник, 15 септември 15:14:32 2014 г.

Авторско право (c) 1982, 2013, Oracle. Всички права запазени.

Свързан с:
Oracle Database 11g Enterprise Edition, издание 11.2.0.4.0 – 64-битово производство
С опциите за разделяне, автоматично управление на съхранение, OLAP, копаене на данни
и реално тестване на приложения

SQL> set define off
SQL> колона испански формат A20
SQL> с t като (
2 изберете 'fish' txt от двойно обединение всички
изберете 'dog' txt от двойно съюз всички 3
4 изберете 'cat' txt от двоен
5 )
изберете txt английски,
6 7 regexp_substr(tr,']*>(.*)',1,1,'i',1) испански
8 от (
9 изберете txt,
10 httpuritype('http://translate.google.com/?hl=bg&layout=1&eotf=1&sl=en&tl=es&text='||utl_url.escape(txt)||'#').getclob() tr
11 от t
12 )
13 /
ГРЕШКА:
ORA-29273:HTTP заявка неуспешна
ORA-06512:при „SYS.UTL_HTTP“ , ред 1817
ORA-29024:Неуспешно валидиране на сертификата
ORA-06512:на „SYS.HTTPURITYPE“, ред 34

Така че това няма да работи така. трябва да настроим портфейла на oracle, преди да извикаме тази процедура

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 /

АНГЛИЙСКИ ИСПАНСКИ
—— ————
риба peces
куче перро
котка котка

Надяваме се, че ви харесват тези стъпки относно Как да използвате URL адреса на google translate в Oracle plsql

Сродни статии
Виртуален индекс в Oracle :Какво е виртуален индекс в Oracle? Употреби, ограничение, предимство и как да се използва за проверка на план за обяснение в базата данни на Oracle, скрит параметър _USE_NOSEGMENT_INDEXES
Oracle Създаване на таблица:Таблиците са основната единица за съхранение на данни в Oracle Database. Ние обхващаме как да използвате командата за създаване на таблица на Oracle за създаване на таблица с външен ключ /първичен ключ
Oracle PLSQL таблици :Вижте тази публикация за подробно описание на PLSQL таблици. Как да я манипулирате и работите върху нея в блока на Oracle PLSQL и предимства
изтриване на дублиращи се редове в Oracle:Съвети и начини как да изтриете дублиращи се редове от таблицата на Oracle. Дават се различни опции за изтриване на дублиращи се редове без проблеми
approx_count_distinct
Функции за дата на Oracle :Разгледайте тази публикация за функциите за дата на Oracle, разлика в датата на Oracle в години, разлика в датата на Oracle в дни, разлика в датата на Oracle в месеца.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Потоци на Oracle Пример за репликация стъпка по стъпка

  2. Вземете списък с всички функции и процедури в база данни на Oracle

  3. BatchUpdateException:партидата няма да бъде прекратена

  4. Как да използвате ora_hash в колона с тип данни xmltype

  5. Сертификати на Oracle