【发布时间】:2017-08-07 16:33:57
【问题描述】:
使用 Oracle SQL Developer,我可以将 / - 字符放入用户名并将密码留空并连接。我在数据库中创建了 OP$MYWINDOWSUSERNAME 用户。
编辑:如果我检查操作系统身份验证复选框(清空并禁用用户名 + 密码),SQL Developer 将不起作用。此外,Preferences->Database->Advanced->Use Oracle Client 未选中,所以我猜 SQL Developer 做什么或不做什么与我的 System.Data.OracleClient.OracleConnection 问题关系不大。
但是,当我尝试形成这样的连接字符串时:
string.Format("Data Source={0}; user id=/;password=;Integrated Security=yes", dbName);
我收到 ORA-01017:用户名/密码无效:登录被拒绝
与
string.Format("Data Source={0}; user id=/;password=;Integrated Security=no", dbName);
我得到 ORA-01005。
与
string.Format("Data Source={0};Integrated Security=yes", dbName);
我收到 ORA-01017:用户名/密码无效:登录被拒绝
与
string.Format("Data Source={0}; user id=/;", dbName);
我得到 ORA-01005
有
string.Format("Data Source={0};User Id=/;Integrated Security=yes;", dbName);
我得到 ORA-01017
当我指定用户名和密码时,我的程序中的 OracleConnection 和 Oracle SQL Developer 都可以工作。
编辑:这适用于
string.Format("Data Source={0};Integrated Security=yes", dbName);
当sqlnet.ora行时
SQLNET.AUTHENTICATION_SERVICES= (NTS)
改为
SQLNET.AUTHENTICATION_SERVICES= (NONE)
如果有人写下正在发生的事情和原因的简短回答,我很乐意为他/她提供赏金。
【问题讨论】:
-
只需删除
user id和password令牌 -
这不起作用。这是我的第一次迭代。
-
啊显然是
Data Source=myOracleDB;User Id=/;- connectionstrings.com/net-framework-data-provider-for-oracle/… -
我也从同一来源尝试过
-
如果您想使用操作系统用户名,那么 System.Data.OracleClient 的正确连接字符串是
Data Source=INSTANCE;Integrated Security=yesw/o 用户和 w/o 密码(并且可能添加 Unicode=true)。为什么这不起作用取决于您的配置,并且很难在没有更多信息的情况下重现。例如:social.msdn.microsoft.com/Forums/sqlserver/en-US/…
标签: oracle ado.net connection-string oracleclient system.data.oracleclient