Как я могу подключиться к базе данных Oracle как SYS, используя строку подключения ADO?
-
05-07-2019 - |
Вопрос
Я пытаюсь это сделать:
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, но ответы на любом языке приветствуются.
Разъяснение: Я могу подключиться как обычный пользователь. У меня возникают проблемы при попытке подключиться к AS SYSDBA.
Решение
Вы не можете подключиться как 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
Другие советы
Я не уверен, что вы подразумеваете под подключением как SYS, но здесь есть ссылка на сладкий репозиторий подключения строки . Я надеюсь, что вы можете найти свой ответ там.
Пример строки подключения Oracle
Вы должны определить свой SID Oracle в файле TNSNames. Который является источником данных.
Data Source=oracl;User Id=userID;Password=password;Integrated Security=no
Если вы используете Visual Studios, вы можете добавить источник данных в Sever Explore, и он выдаст вам строку подключения.