Подтвердить что ты не робот

ORA-12638: Ошибка получения учетных данных

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

ORA-12638: Credential retrieval failed

когда он пытается подключиться к одной из наших баз данных Oracle. Однако я могу подключиться отлично от SQLPlus и Toad. Я Googled вокруг, и все, кажется, говорят, что изменение их файла 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

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

Спасибо.:)

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

Original Entry - SQLNET.AUTHENTICATION_SERVICES= (NTS)

Modified Entry - SQLNET.AUTHENTICATION_SERVICES= (NONE)

Вот LINK для решения

Ответ 3

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

SQLNET.AUTHENTICATION_SERVICES= (NONE)

в sqlnet.ora.

Ответ 4

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

Ответ 5

Я установил 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.