try
{
OracleConnection con = new OracleConnection();
con.ConnectionString = "Data Source=TNSName;User Id=sys;Password=password;DBA Privilege=sysdba;";
con.Open();
}
catch (Exception ex )
{
MessageBox.Show(ex.Message);
}
我正在尝试以sysdba创建连接,但获得异常:
" ORA-1017:用户名/密码无效;登录被拒绝"
虽然我能够使用同一台机器上的SQLDBX登录同一个用户。我也可以使用相同的代码创建连接,省略" DBA Privilege = sysdba" 并使用普通用户。
答案 0 :(得分:1)
如果您想使用较低版本的oracle驱动程序(即10g ODP.NET或更低版本)连接到11g数据库,则会收到上述错误。
因为无论何时我们使用10g ODP.NET发送密码,它都会将它们转换为所有大写字母。密码不区分大小写。 点击 here 或here查看详细信息。
答案 1 :(得分:0)
查看Oracle 11g docs,我认为数据库权限区分大小写。所以尝试:
con.ConnectionString = "Data Source=TNSName;User Id=sys;Password=password;DBA Privilege=SYSDBA;";
假设指定的用户ID和密码正确。