Проблема сосуществования Oracle Ordcom и кошелька

Мы используем инфраструктуру Oracle ORDCOM в нашей базе данных 11.1.0.7 для взаимодействия с COM-объектом. COM-объект ничего не делает с базой данных. Этот процесс работал отлично в течение нескольких лет.

Сегодня я создал Oracle Wallet и добавил учетные данные для sys, чтобы мой скрипт мог войти в систему с помощью "/@coredev as sysdba", а не сохранять имя пользователя и пароль в виде открытого текста.

Проблема заключается в том, что как только я добавил строку "SQLNET.WALLET_OVERRIDE = TRUE" в файл sqlnet.ora, вызов ORDCOM OACreate вызывает ошибку протокола ORA-28578: во время обратного вызова из внешней процедуры. У меня есть программа за пределами базы данных, которая может проверить COM-объект и продолжает работать правильно. Как только я закомментирую строку в sqlnet.ora, все будет работать правильно, но, разумеется, я больше не смогу использовать кошелек.

1 ответ

Решение

Oracle воспроизвела эту проблему с помощью внутреннего контрольного примера и создала для него ошибку. Обходной путь заключается в использовании отдельного sqlnet.ora/tnsnames.ora для кошелька, задающего для переменной среды TNS_ADMIN путь к альтернативным файлам.

Другие вопросы по тегам