views:

1368

answers:

3

I am trying this:

Provider=MSDASQL.1;Persist Security Info=False;User ID=sys;Password=pwd;Initial Catalog=DATABASE;Data Source=OdbcDataSource;DBA Privilege=SYSDBA

But I get the error:

[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed

I'm using Delphi, but answers in any language are welcome.

Clarification: I am able to connect as a normal user. I run into trouble when I try to connect AS SYSDBA.

A: 

I'm not sure what you mean by connecting as a SYS, but there here is a link to sweet repository of connection strings. I hope you can find your answer there.

Matt R
as sys = with the user name of "sys". From sql plus it would be SYS AS SYSDBA.
JosephStyons
A: 

Oracle Connection string sample

You must have your Oracle SID defined in your TNSNames file. Which is the data source.

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

If you are using Visual Studios you can add a data source in the Sever Explore and it will give you the connection string.

David Basarab
+2  A: 

You can't connect as SYSDBA using standard System.Data.OracleClient, as stated by this post : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2245591&SiteID=1.

You can do that using ODP .NET (Oracle Data Provider for .NET), or other third parties library. If you're planning to build serious Oracle Application on .NET, I suggest you at least look at ODP.NET

Salamander2007
We moved from ODP.Net to the excellent third party library - DevArt (formerly CoreLAB)'s OraDirect.Net. They let you connect as SYSDBA or SYSOPER (http://www.devart.com/oranet/docs/CoreLab.Oracle~CoreLab.Oracle.OracleConnectionStringBuilder~ConnectMode.html) :o)
Andrew