Como posso me conectar a um banco de dados Oracle como SYS usando uma string de conexão ADO?
-
05-07-2019 - |
Pergunta
Estou tentando o seguinte:
Provider=MSDASQL.1;Persist Security Info=False;User ID=sys;Password=pwd;Initial Catalog=DATABASE;Data Source=OdbcDataSource;DBA Privilege=SYSDBA
Mas eu recebo o erro:
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
Estou usando o Delphi, mas as respostas em qualquer idioma são bem -vindas.
Esclarecimento: sou capaz de me conectar como um usuário normal. Ter problemas quando tento me conectar como sysdba.
Solução
Você não pode se conectar como sysdba usando o padrão system.data.oracleclient, conforme declarado por este post: http://forums.microsoft.com/msdn/showpost.aspx?postid=2245591&siteid=1.
Você pode fazer isso usando o ODP .NET (Oracle Data Provider para .NET) ou outra biblioteca de terceiros. Se você está planejando criar um aplicativo oracle sério no .NET, sugiro que você pelo menos olhe para odp.net
Outras dicas
Não tenho certeza do que você quer dizer com se conectar como um sistema, mas aqui está um link para o doce repositório de Strings de conexão. Espero que você possa encontrar sua resposta lá.
Amostra de string de conexão Oracle
Você deve definir o seu Oracle SID no arquivo TNSNames. Qual é a fonte de dados.
Data Source=oracl;User Id=userID;Password=password;Integrated Security=no
Se você estiver usando o Visual Studios, poderá adicionar uma fonte de dados no sever explorar e ele fornecerá a string de conexão.