Conectar-se ao banco de dados de um Oracle 10g com Microsoft ODBC para Oracle
Pergunta
Eu estou tentando se conectar ao banco de dados de um Oracle 10g usando o construído em Microsoft ODBC para Oracle motorista. Eu quero usar uma conexão dnsless, então eu pegar minha cadeia de conexão de www.connectionstrings.com .
Idealmente, eu não terá de configurar uma entrada DNS ou uma entrada do Oracle TNS, e posso estar enganado, mas eu pensei que o acima faria isso por mim. Estou recebendo o seguinte:
ERROR [NA000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12514:
TNS:listener does not currently know of service requested in connect
descriptor
ERROR [IM006] [Microsoft][ODBC Driver Manager]
Driver's SQLSetConnectAttr failed
ERROR [01000] [Microsoft][ODBC Driver Manager]
The driver doesn't support the version of ODBC behavior that the
application requested (see SQLSetEnvAttr)."
Tanto quanto eu posso dizer on-line, outras pessoas têm usado o Microsoft ODBC para Oracle driver para conectar-se a 10 g, mas talvez eu estou faltando alguma coisa. Eu estou conectando a partir de um aplicativo vb.net pelo caminho.
Solução 2
Eu não tenho certeza de como kosher é para responder à sua própria pergunta, mas eu achei uma seqüência de conexão que é mais o que eu estou procurando:
"Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=myserver)(PORT=1521))" & _
"(CONNECT_DATA=(SERVICE_NAME=servicename))); " & _
"uid=username;pwd=password;
Outras dicas
Com 10g, você pode usar o recurso EZConnect . Para se conectar a uma instância Oracle chamado ORCL na myServer servidor, a seqüência de conexão ficaria assim:
Driver={Microsoft ODBC for Oracle};Server=myServer:1521/ORCL;Uid=myUsername;Pwd=myPassword;
Você precisa adicionar uma entrada no seu arquivo tnsnames.ora para o serviço para o qual você deseja se conectar. Alternativamente, você pode ir para a interface GUI para esse arquivo em
Start->Programs->Oracle->Configuration and Migration Tools->Net Configuration Assistant
e configurar sua conexão oráculo lá. Então, ODBC será capaz de resolver o nome do serviço.