ORA-12638: не удалось получить учетные данные

У меня есть устаревшее приложение VB6, которое я унаследовал. Проблема, с которой я сталкиваюсь, заключается в том, что я получаю печально известную

ORA-12638: Credential retrieval failed

сообщение об ошибке всякий раз, когда он пытается подключиться к одной из наших баз данных Oracle. Тем не менее, я могу нормально подключиться к SQLPlus и Toad. Я гуглил вокруг, и все, кажется, говорят, что изменение их файла sqlnet.ora для

SQLNET.AUTHENTICATION_SERVICES=(NONE)

сделал свое дело. Я еще не нашел никого с альтернативным решением. Вот как выглядит моя строка подключения:

"PROVIDER=OraOLEDB.Oracle;DATA SOURCE=(DESCRIPTION = " & _
"(ADDRESS = (PROTOCOL = TCP)(HOST = server1)
(PORT = 1521))" & _
"(ADDRESS = (PROTOCOL = TCP)(HOST = server2)
(PORT = 1521))" & _
"(LOAD_BALANCE = yes) " & _
"(CONNECT_DATA = " & _
"(SERVER = DEDICATED) " & _
"(SERVICE_NAME = database_name_here) " & _
") " & _
"); " & _
"User Id=username_here;Password=password_here;"

Что касается моего VB-кода, это довольно просто.

Private oracleDatabaseConnection As ADODB.Connection

Set oracleDatabaseConnection = New ADODB.Connection
oracleDatabaseConnection.Open oracleConnectionString

У кого-нибудь есть идеи?

Спасибо. :)

Ответы на вопрос(5)

что это старый вопрос, но он начал появляться с недавним обновлением Windows. Способ легко решить это установить

SQLNET.AUTHENTICATION_SERVICES= (NONE)

в sqlnet.ora.

перезапуск IIS, похоже, поможет. Но это один из тех, у кого не так много причин.

Решение Вопроса

это одна из тех ошибок, которые могут быть вызваны множеством различных корневых проблем.

Предполагая, что вашим сервером базы данных является Windows, проверьте его журнал событий, как System, так и Application. Вы можете найти там что-нибудь полезное.

Я сталкивался с этой ошибкой в ​​некоторых случаях, потому что учетная запись, под которой работала служба Oracle, была заблокирована.

Я также сталкивался с этим в тех случаях, когда мы так и не нашли объяснения, но нам всегда удавалось прояснить проблему, заблокировав и разблокировав их ПК.

Приложение VB работает на другом компьютере, чем клиент, который может подключиться? Если это так, можно ли протестировать с помощью другой клиентской программы на том же компьютере - или можно попробовать приложение VB на вашем компьютере?

 Tim Meyer15 дек. 2014 г., 08:48
Я только что столкнулся с проблемой в первый раз, и блокировка / разблокировка сделали свое дело. Я работал с виртуальной машиной Windows XP, которую я возобновил из режима гибернации. Узел, на котором он работал, недавно запросил изменение пароля, что могло быть причиной (хотя виртуальная машина использует другую учетную запись пользователя в другой (виртуальной) сети).

64-разрядную версию Windows 10 professional (испанская версия).

После перезагрузки ПК все работает нормально.
Но на следующий день я получаю сообщение об ошибке, используя SQL * PLus и SQLTools 1.9 build 15:

 ORA-12638: Credential retrieval failed

Я изменил файл sqlnet.ora так:

SQLNET.AUTHENTICATION_SERVICES= (NONE)

и теперь я могу подключиться с помощью SQLPlus, SQLTools 1.9 build 15.

что это очень старый пост, но я нашел решение, которое сработало для меня (Legacy VB6 Application):

Измените следующую запись в файле sqlnet.ora:

Original Entry - SQLNET.AUTHENTICATION_SERVICES= (NTS)

Modified Entry - SQLNET.AUTHENTICATION_SERVICES= (NONE)

ВотССЫЛКА НА САЙТ к решению

 Neolisk14 авг. 2013 г., 20:00
+1. Я только что удалилSQLNET.AUTHENTICATION_SERVICES строка из файла и это тоже сработало.
 cgalvao199321 окт. 2014 г., 18:26
Я получил ORA-01031: недостаточно прав после установки NONE
 stephen ebichondo14 сент. 2012 г., 12:17
SQLNET.AUTHENTICATION_SERVICES = (NONE) работал как прелесть

Ваш ответ на вопрос