Oxymoron
Oxymoron

Reputation: 1392

.NET connecting to oracle problems with the connectionstring

At the moment I'm trying to make a connection to a local server. Connecting via, say, TOAD works fine. When I try to connect using .NET I get ora-12154. Which puzzles me, since I'm using the connectionstring from my TNSNAMES.ora file:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myPC)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

As follows:

private string connectionString = "Data Source=(DESCRIPTION ="
    +"    (ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = myPC)(PORT = 1521)))"
    +"    (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = XE));"
    +"User Id=sys;Password=zsxyzabc;";

Any ideas?

Upvotes: 0

Views: 1598

Answers (3)

akdora
akdora

Reputation: 903

You may only be able to do this with the Oracle's .NET provider. That provider does support a "DBA Privilege=SYSDBA" setting in your connection string.

Why are you login with SYS user? It's dangerous, you may create a new user and connect with it. You may want to give any privileges you want. Try also this one :

string connString = "User Id=sys; Password=zsxyzabc; Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myPC)(PORT=1521))(CONNECT_DATA=(SERVER=dedicated)(SID=xe)))";

Upvotes: 0

APC
APC

Reputation: 146179

You are connecting as SYS. Therefor you need to include the SYSDBA privilege:

+"User Id=sys;Password=zsxyzabc;DBA Privilege=SYSDBA;";

It is bad practice to use the SYS account for regular application work, or even regular DBA work. But it is necessary sometimes, and when it is necessary we have to connect as sysdba.

edit

It is a subtle one: you have a missing bracket at the end of the string!

private string connectionString = "Data Source=(DESCRIPTION =" 
    +"    (ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = myPC)(PORT = 1521)))" 
    +"    (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = XE)));" 
                                                                  ^

Having an IDE with bracket matching (I use TextPad) is a boon in these cases.

Upvotes: 1

Paddy
Paddy

Reputation: 33857

This is a great site for sorting out your connection string issues:

www.connectionstrings.com

Upvotes: 0

Related Questions