我正在尝试:
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
我正在使用Delphi,但欢迎使用任何语言的答案。
澄清:我能够以普通用户身份进行连接。尝试连接AS SYSDBA时遇到麻烦。
您不能使用标准的System.Data.OracleClient作为SYSDBA进行连接,如本文所述:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2245591&SiteID=1。
您可以使用ODP .NET(.NET的Oracle数据提供程序)或其他第三方库来完成。如果您打算在.NET上构建严肃的Oracle应用程序,建议您至少看看ODP.NET
我不确定您以SYS身份连接的意思,但是这里有指向connection strings的甜蜜存储库的链接。希望您能在这里找到答案。
Oracle连接字符串示例
您必须在TNSNames文件中定义Oracle SID。哪个是数据源。
Data Source=oracl;User Id=userID;Password=password;Integrated Security=no
如果使用的是Visual Studio,则可以在Sever Explore中添加数据源,它将为您提供连接字符串。
在此处发布答案,因为这是寻找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