如何使用ADO连接字符串作为SYS连接到Oracle数据库?

时间:2008-10-07 16:44:56

标签: oracle ado connection-string sysdba

我正在尝试这个:

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时遇到了麻烦。

4 个答案:

答案 0 :(得分:4)

您无法使用标准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

答案 1 :(得分:0)

我不确定你作为SYS连接是什么意思,但这里有一个指向connection strings的甜蜜存储库的链接。我希望你能在那里找到答案。

答案 2 :(得分:0)

Oracle连接字符串示例

您必须在TNSNames文件中定义Oracle SID。哪个是数据源。

Data Source=oracl;User Id=userID;Password=password;Integrated Security=no

如果您使用的是Visual Studios,则可以在Sever Explore中添加数据源,它将为您提供连接字符串。

答案 3 :(得分:0)

在此处发布答案,因为这是寻找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