当前位置:  开发笔记 > 编程语言 > 正文

ORA-12638:凭据检索失败

如何解决《ORA-12638:凭据检索失败》经验,为你挑选了2个好方法。

我有一个遗留的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

有人有主意吗?

谢谢.:)



1> Mark Kram..:

我知道这是一个非常古老的帖子,但我找到了一个对我有用的解决方案(Legacy VB6 Application):

更改sqlnet.ora文件中的以下条目:

Original Entry - SQLNET.AUTHENTICATION_SERVICES= (NTS)

Modified Entry - SQLNET.AUTHENTICATION_SERVICES= (NONE)

这是解决方案的链接


+1.我刚从文件中删除了`SQLNET.AUTHENTICATION_SERVICES`行,它也有效.

2> Dave Costa..:

老实说,这是许多不同根问题可能导致的错误之一.

假设您的数据库服务器是Windows,请检查其事件日志,包括系统和应用程序.你可能会发现有用的东西.

我在某些情况下遇到此错误,因为运行Oracle服务的帐户已被锁定.

在我们从未找到解释的情况下,我也遇到过这种情况,但我们始终能够通过让用户锁定和解锁他们的PC来解决问题.

VB应用程序是否在与可以连接的客户端不同的机器上运行?如果是这样,是否可以在同一台机器上使用不同的客户端程序进行测试 - 或者是否可以在您的机器上尝试VB应用程序?

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有