使用 Oracle SQL Developer,我可以将 / -character 放入用户名并将密码留空并连接。我在数据库中创建了 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: invalid username/password: login denied
和
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: invalid username/password: login denied
和
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)
如果有人写下正在发生的事情和原因的简短回答,我很乐意为他/她提供赏金。