我有一个继承的旧版VB6应用程序。我面临的问题是我声名狼藉
ORA-12638: Credential retrieval failed
尝试连接到我们的Oracle数据库之一时出现错误消息。但是,我可以从SQLPlus和Toad进行连接。我已经在Google周围搜索了,每个人似乎都说将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
谁有想法?
谢谢。 :)
最佳答案
老实说,这是可能由许多不同的根本问题引起的错误之一。
假设您的数据库服务器是Windows,请检查其事件日志(系统和应用程序)。您可能会在这里找到有用的东西。
在某些情况下,由于运行Oracle服务的帐户被锁定,我遇到了此错误。
在我们找不到说明的情况下,我也遇到过这种情况,但是我们始终能够通过让用户锁定和解锁他们的PC来解决问题。
VB应用程序是否在与可以连接的客户端不同的计算机上运行?如果是这样,是否有可能在同一台计算机上使用其他客户端程序进行测试-还是可以在您的计算机上尝试VB应用程序?
关于oracle - ORA-12638:凭证检索失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/379164/