¿Cómo puedo conectarme a una base de datos Oracle como SYS usando una cadena de conexión ADO?
-
05-07-2019 - |
Pregunta
Estoy intentando esto:
Provider=MSDASQL.1;Persist Security Info=False;User ID=sys;Password=pwd;Initial Catalog=DATABASE;Data Source=OdbcDataSource;DBA Privilege=SYSDBA
Pero me sale el error:
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
Estoy usando Delphi, pero las respuestas en cualquier idioma son bienvenidas.
Aclaración: Soy capaz de conectarme como un usuario normal. Me encuentro con problemas cuando intento conectarme COMO SYSDBA.
Solución
No puede conectarse como SYSDBA usando System.Data.OracleClient estándar, como se indica en esta publicación: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2245591&SiteID=1 .
Puede hacerlo usando ODP .NET (Oracle Data Provider para .NET) u otra biblioteca de terceros. Si planea construir una aplicación Oracle seria en .NET, le sugiero que al menos vea ODP.NET
Otros consejos
No estoy seguro de qué quiere decir con conectarse como un SYS, pero aquí hay un enlace al dulce repositorio de la conexión de cuerdas . Espero que puedas encontrar tu respuesta allí.
Ejemplo de cadena de conexión de Oracle
Debe tener su SID de Oracle definido en su archivo TNSNames. Cuál es la fuente de datos.
Data Source=oracl;User Id=userID;Password=password;Integrated Security=no
Si está utilizando Visual Studios, puede agregar una fuente de datos en Sever Explore y le dará la cadena de conexión.