Гаманець Oracle непридатний для використання через ORA -28759


0

перепробувавши багато порад, я нарешті звернувся до цієї спільноти і сподіваюся отримати певні вказівки.

Я намагаюся надсилати електронні листи з PL / SQL і створив екземпляр 18c XE на RHL 7.2; свіжа установка, нічого додатково не встановлено.

Якщо дотримуватися всіх інструкцій по створенню гаманця, орапки можуть прочитати його без проблем.


дисплей гаманця orapki -wallet / opt / oracle / product / 18c / dbhomeXE / owm / гаманці / root

Випуск інструменту Oracle PKI 18.0.0.0.0 - Виробництво

18.1.0.0.0: Версія {1}

Авторські права (c) 2004, 2017, Oracle und / oder der verbundenen Unternehmen. Всі права захищені. Alle Rechte vorbehalten.

Запитані сертифікати:

Тема: xxxxxxxxxxxxxxxxxxxxxxxxx

Сертифікати користувача:

Довірені сертифікати:

Тема: CN = account.google.com, O = Google LLC, L = Mountain View, ST = Каліфорнія, C = США

Тема: CN = GlobalSign, O = GlobalSign, OU = GlobalSign Root CA - R2

Тема: CN = Google Internet Authority G3, O = Служби Google Trust, C = США


Зсередини Oracle я отримую повідомлення:


ORA-28759: Fehler beim Öffnen von Datei (файл помилки при відкритті)

ORA-06512: у "SYS.UTL_TCP", Zeile 63

ORA-06512: у "SYS.UTL_TCP", Zeile 314

ORA-06512: у "SYS.UTL_SMTP", Zeile 177

ORA-06512: у "SYS.UTL_SMTP", Zeile 201

ORA-06512: "xxxxxxxxx.QM_SEND_MAIL", Zeile 14 (моя процедура у рядку 14)


моя збережена процедура виглядає приблизно так:


створити або замінити PROCEDURE qm_send_mail (

    p_from      VARCHAR2,

    p_to        VARCHAR2,

    p_subject   VARCHAR2,

    p_body      VARCHAR2

) IS





    objconnection    utl_smtp.connection;

    vrdata           VARCHAR2(32000);

    v_plain_string   VARCHAR2(32000);

    v_username_b64   VARCHAR2(32000);

    v_password_b64   VARCHAR2(32000);

BEGIN

    objconnection := utl_smtp.open_connection(  host => 'smtp.googlemail.com',

                                                port => 587,--global.g_smtp_port_ssl,

                                                wallet_path => 'file:/opt/oracle/product/18c/dbhomeXE/owm/wallets/root',

                                                --wallet_password => 'xxxxxxxxx',

                                                secure_connection_before_smtp => true);





                    utl_smtp.ehlo(objconnection, 'fritzquinum.dnsalias.com');    -- Must use EHLO  vs HELO

    utl_smtp.starttls(objconnection);





    utl_smtp.auth(objconnection, 'mygooglemailaccount', 'mygooglemailpassword', utl_smtp.all_schemes);





    utl_smtp.mail(objconnection, p_from);

    utl_smtp.rcpt(objconnection, p_to);

    utl_smtp.open_data(objconnection);

/ * ** Надсилання інформації заголовка * /

    utl_smtp.write_data(objconnection, 'From: '

                                       || p_from

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'To: '

                                       || p_to

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'p_subjectject: '

                                       || p_subject

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'MIME-Version: '

                                       || '1.0'

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'Content-Type: ' || 'text/html;');

    utl_smtp.write_data(objconnection, 'Content-Transfer-Encoding: '

                                       || '"8Bit"'

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, utl_tcp.crlf);

    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.write_data(objconnection, utl_tcp.crlf

                                       || '<span style="color: black; font-family: Courier New;">'

                                       || p_body

                                       || '</span>');





    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.close_data(objconnection);

    utl_smtp.quit(objconnection);

- ВИКЛЮЧЕННЯ

    WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN

        utl_smtp.quit(objconnection);

        dbms_output.put_line(sqlerrm);

    WHEN OTHERS THEN

        utl_smtp.quit(objconnection);

        dbms_output.put_line(sqlerrm);

END qm_send_mail;

Як хтось зазначав, що права на папку потрібно встановити, я змінив, щоб перевірити, чи дозволяють файли права власності на це:


[root @ core wallet] # ls -la

insgesamt 12

drwx ------. 3 головний корінь 79 2. Січень 15:20.

drwxr-xr-x. 5 oracle oinstall 48 2. січ 14:42.

drwxrwxrwx. 2 root oinstall 90 2. Jan 15:05 root

[root @ core гаманці] # cd root

[root @ core root] # ls -la

insgesamt 16

drwxrwxrwx. 2 кореневої установки 90 2. Січ 15:05.

drwx ------. 3 головний корінь 79 2. Січень 15:20 ..

-rwxrwxrwx. 1 корінь oinstall 5893 2. січ 15:38 cwallet.sso

-rwxrwxrwx. 1 root oinstall 0 2. січ 15:05 cwallet.sso.lck

-rwxrwxrwx. 1 корінь oinstall 5848 2. січ 15:38 ewallet.p12

-rwxrwxrwx. 1 root oinstall 0 2. січ 14:48 ewallet.p12.lck


всі файли належать oinstall, як рекомендовано; досі oracle не може прочитати гаманець.

Гаманець створений за допомогою функції автоматичного входу; тому я спробував встановити параметр wallet_password, а не встановити; без різниці.

Мережеве підключення до googlemail нормально.

Будь-які ідеї, будь ласка?

З повагою і дякую за будь-яку допомогу тут ...

Клаус

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.