Tengo una aplicación heredada de VB6 que heredé. El problema que estoy enfrentando es que me estoy haciendo el famosoORA-12638: Recuperación de credenciales fallida
ORA-12638: Credential retrieval failed
mensaje de error cada vez que intenta conectarse a una de nuestras bases de datos Oracle. Sin embargo, puedo conectar bien desde SQLPlus y Toad. He buscado en Google en todo y todo el mundo parece decir que modificar su archivo sqlnet.ora a
SQLNET.AUTHENTICATION_SERVICES=(NONE)
hizo el truco. Todavía tengo que encontrar a alguien con una solución alternativa. Así es como se ve mi cadena de conexión:
"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;"
En cuanto a mi código VB, es bastante simple.
Private oracleDatabaseConnection As ADODB.Connection
Set oracleDatabaseConnection = New ADODB.Connection
oracleDatabaseConnection.Open oracleConnectionString
¿Alguien tiene alguna idea?
Gracias. :)
Acabo de encontrar el problema por primera vez y bloqueo/desbloqueo hizo el truco. Estaba trabajando con una máquina virtual de Windows XP que he reanudado desde el modo de hibernación. El host en el que se ejecutaba recientemente solicitó un cambio de contraseña, esa pudo haber sido la razón (aunque la VM usa una cuenta de usuario diferente en una red diferente (virtual). –