首页 新闻 搜索 专区 学院

ORA-12631:Username retrieval failed 用户名检索失败

0
悬赏园豆:30 [已解决问题] 解决于 2015-01-24 14:25

我把oracle 11g装在了自己的开发电脑上,也就是服务端和客户端在一台机子上。

当用vs.net连接时,出现ORA-12631:用户名检索失败。baidu了下,但没有查出解决方法。

故来此请教!

 

说明:试过的解决方法如下:

1)设置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS) ,把NTS改为NONE后,可以不报这个错,但是取不到数据库里的数据。因为我机子只有域用户,没有本地用户。
2)已os用户加到ora_dba,也没有解决些问题。

但我连接一个远程的服务器,就不报这要的错误,用的也是一个域用户,而且我到远程服务器上看了配置,

  a)sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS) 和我设的一样的。

  b)远程机子上用户组里的ora_dba组中加入我的域用户和我本机加入的一样。

请教可能出现的问题,谢谢!

Albert Fei的主页 Albert Fei | 老鸟四级 | 园豆:2102
提问于:2015-01-23 17:09
< >
分享
最佳答案
0

域用户添加到ora_dba组了吗?

收获园豆:30
dudu | 高人七级 |园豆:37154 | 2015-01-23 17:30

添加到ora_dba组了,而且是早就存了,不是刚加的。

因为之前可以用域用户连接远程的oracle 服务器的。

现在就是连接本机的。

Albert Fei | 园豆:2102 (老鸟四级) | 2015-01-23 17:37

@Albert Fei: 在 sqlnet.ora 中加上  names.ldap_authenticate_bind = TRUE  试试,详见 Using Oracle Database with Microsoft Active Directory 。如果不行,建议不要用Windows验证,用Oracle本身的验证。

dudu | 园豆:37154 (高人七级) | 2015-01-23 17:46

@dudu: 用Oracle本身的验证,还能不能用系统的域用户名登录?

因为我的电脑现在只有域用户名,没有本地名。

Albert Fei | 园豆:2102 (老鸟四级) | 2015-01-23 17:56
dudu | 园豆:37154 (高人七级) | 2015-01-23 18:02

@dudu: 试了names.ldap_authenticate_bind = TRUE好像还是不行。

Albert Fei | 园豆:2102 (老鸟四级) | 2015-01-23 18:02

@dudu: 非常感谢你的帮助,终于把问题解决了。

主要方法:

  1) 在环境变量里加入ORCLE_SID, TNS_ADMIN

  2) 把sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)其中的NTS改成其它的就行;我是改成NONE.

  经测试,NTS可以改成任何其它的都行;也可以把(NTS) 去掉,设任何值都行,什么值也不设为空也行;也可以把sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)整行都去掉。

Albert Fei | 园豆:2102 (老鸟四级) | 2015-01-24 14:24

@Albert Fei: 学习了,原来这地方也要设置环境变量

dudu | 园豆:37154 (高人七级) | 2015-01-24 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册