У меня есть устаревшее приложение 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
У кого-нибудь есть идеи?
Спасибо. :)