Как я могу подключиться к базе данных Oracle как SYS, используя строку подключения ADO?

Я пытаюсь это:

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, но ответы на любом языке приветствуются.

Уточнение: я могу подключиться как обычный пользователь. У меня возникают проблемы, когда я пытаюсь подключиться как SYSDBA.

5 ответов

Решение

Вы не можете подключиться как SYSDBA, используя стандартный System.Data.OracleClient, как указано в этом сообщении: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2245591&SiteID=1.

Вы можете сделать это с помощью ODP .NET (Oracle Data Provider for .NET) или других сторонних библиотек. Если вы планируете создать серьезное приложение Oracle на.NET, я советую вам хотя бы взглянуть на ODP.NET

Публикация ответа здесь, поскольку это лучший результат при поиске ответа для строки подключения 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

Я не уверен, что вы подразумеваете под подключением как SYS, но здесь есть ссылка на сладкий репозиторий строк подключения. Я надеюсь, что вы можете найти свой ответ там.

используя Oracle.ManagedDataAccess , строка подключения для sys as sysdba:

      Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;

ссылка

Пример строки подключения Oracle

Ваш SID Oracle должен быть определен в вашем файле TNSNames. Который является источником данных.

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

Если вы используете Visual Studios, вы можете добавить источник данных в Sever Explore, и он выдаст вам строку подключения.

Другие вопросы по тегам