Come posso connettermi a un database Oracle come SYS usando una stringa di connessione ADO?
-
05-07-2019 - |
Domanda
Sto provando questo:
Provider=MSDASQL.1;Persist Security Info=False;User ID=sys;Password=pwd;Initial Catalog=DATABASE;Data Source=OdbcDataSource;DBA Privilege=SYSDBA
Ma ottengo l'errore:
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
Sto usando Delphi, ma le risposte in qualsiasi lingua sono benvenute.
Chiarimento: Sono in grado di connettermi come un normale utente. Ho dei problemi quando provo a connettermi AS SYSDBA.
Soluzione
Non puoi connetterti come SYSDBA utilizzando System.Data.OracleClient standard, come indicato da questo post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2245591&SiteID=1 .
Puoi farlo usando ODP .NET (Oracle Data Provider per .NET) o altre librerie di terze parti. Se stai pianificando di creare un'applicazione Oracle seria su .NET, ti suggerisco almeno di guardare ODP.NET
Altri suggerimenti
Non sono sicuro di cosa intendi connettendoti come SYS, ma qui c'è un link al dolce repository di stringhe . Spero che tu possa trovare la tua risposta lì.
Esempio di stringa Oracle Connection
Devi avere il tuo SID Oracle definito nel tuo file TNSNames. Qual è l'origine dati.
Data Source=oracl;User Id=userID;Password=password;Integrated Security=no
Se stai usando Visual Studios puoi aggiungere un'origine dati in Sever Explore e ti darà la stringa di connessione.