我正在尝试这个:
Provider=MSDASQL.1;Persist Security Info=False;User ID=sys;Password=pwd;Initial Catalog=DATABASE;Data Source=OdbcDataSource;DBA Privilege=SYSDBA
但是我得到错误:
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
我正在使用德尔福,但欢迎任何语言的答案。
澄清:我能够以普通用户的身份连接。 当我尝试连接 AS SYSDBA 时,我遇到了麻烦。
你不能使用标准的System.Data.OracleClient作为SYSDBA连接,如这篇文章所述: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2245591&SiteID=1.
您可以使用ODP .NET(Oracle Data Provider for .NET)或其他第三方库来执行此操作。如果你打算在.NET上构建严肃的Oracle应用程序,我建议你至少看看 ODP.NET
在此处发布答案,因为这是查找 DBA PRIVILEGE 连接字符串答案时的最高结果
Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCL))); User ID=sys; Password=syspassword; DBA PRIVILEGE=SYSDBA
我不确定您作为 SIS 连接是什么意思,但这里有一个指向连接字符串甜蜜存储库的链接。我希望你能在那里找到答案。
使用 Oracle.ManagedDataAccess,sys 作为 sysdba 的连接字符串为:
Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;
裁判
Oracle 连接字符串示例
必须在 TNSNames 文件中定义 Oracle SID。 哪个是数据源。
Data Source=oracl;User Id=userID;Password=password;Integrated Security=no
如果您使用的是Visual Studios,则可以在Sever探索中添加数据源,它将为您提供连接字符串。