ORA-12638: не удалось получить учетные данные - PullRequest
24 голосов
/ 18 декабря 2008

У меня есть устаревшее приложение 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 ]

41 голосов
/ 13 июня 2012

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

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

Original Entry - SQLNET.AUTHENTICATION_SERVICES= (NTS)

Modified Entry - SQLNET.AUTHENTICATION_SERVICES= (NONE)

Вот ССЫЛКА на решение

5 голосов
/ 19 декабря 2008

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

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

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

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

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

2 голосов
/ 21 мая 2018

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

SQLNET.AUTHENTICATION_SERVICES= (NONE)

в sqlnet.ora.

1 голос
/ 21 января 2010

Если вы запускаете веб-приложение под IIS, перезапуск IIS, похоже, поможет. Но это одна из причин проблемы, у которой мало причин.

0 голосов
/ 28 ноября 2018

Я установил 32-разрядную версию Oracle Database 11g Express Edition на 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...