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