.NET подключение к оракулу проблемы со строкой подключения - PullRequest
0 голосов
/ 22 апреля 2010

В данный момент я пытаюсь установить соединение с локальным сервером.Подключение через, скажем, TOAD работает нормально.Когда я пытаюсь подключиться с помощью .NET, я получаю ora-12154.Что меня озадачивает, так как я использую строку подключения из моего файла TNSNAMES.ora:

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

Как указано ниже:

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;";

Есть идеи?

Ответы [ 3 ]

1 голос
/ 22 апреля 2010

Вы подключаетесь как SYS.Для этого вам необходимо включить привилегию SYSDBA:

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

. Неправильно использовать учетную запись SYS для обычной работы приложения или даже для работы обычного администратора БД.Но иногда это необходимо, и когда это необходимо, мы должны подключить as sysdba.

edit

Это тонкий: у вас отсутствует скобка вконец строки!

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

Наличие IDE с совпадением скобок (я использую TextPad) в этих случаях - благо.

0 голосов
/ 14 марта 2014

Вы можете сделать это только с поставщиком Oracle .NET. Этот поставщик поддерживает настройку «DBA Privilege = SYSDBA» в строке подключения.

Почему вы входите в систему с пользователем SYS? Это опасно, вы можете создать нового пользователя и связаться с ним. Вы можете дать любые привилегии, которые вы хотите. Попробуйте также это:

string connString = "User Id=sys; Password=zsxyzabc; Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myPC)(PORT=1521))(CONNECT_DATA=(SERVER=dedicated)(SID=xe)))";
0 голосов
/ 22 апреля 2010

Это отличный сайт для решения проблем со строками подключения:

www.connectionstrings.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...