Всички познаваме Google Translate, който може да помогне за превода от един език на друг.
Ще проучим опцията за използване на функционалността на google в oracle plsql в базата данни на oracle, за да извършим превода.
- Първо трябва да създадем списък за достъп до мрежата, който се изисква от 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 в месеца.