我试图使用内置的Microsoft ODBC对Oracle驱动程序连接到Oracle 10g数据库。我想用一个dnsless连接,所以我抢我的连接字符串从 www.connectionstrings.com

在理想情况下,我不会要设置的DNS条目或Oracle TNS条目,我可能是错的,但我想上面会为我做的。我发现了以下内容:

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)."

据我可以在网上告诉,其他人都使用了微软的ODBC对Oracle驱动程序连接到10G,但也许我失去了一些东西。我是从一个应用程序vb.net的方式连接。

有帮助吗?

解决方案 2

我不知道它是如何犹太回答自己的问题,但我发现一个连接字符串更是我要找的:

"Driver={Microsoft ODBC for Oracle}; " & _
                                 "CONNECTSTRING=(DESCRIPTION=" & _
                                 "(ADDRESS=(PROTOCOL=TCP)" & _
                                 "(HOST=myserver)(PORT=1521))" & _
                                 "(CONNECT_DATA=(SERVICE_NAME=servicename))); " & _
                                 "uid=username;pwd=password;

其他提示

使用10g中,可以使用 EZCONNECT 功能。要连接到名为ORCL的服务器myServer上的Oracle实例,连接字符串应该是这样的:

Driver={Microsoft ODBC for Oracle};Server=myServer:1521/ORCL;Uid=myUsername;Pwd=myPassword;

您需要在您的tnsnames.ora文件中添加一个条目为要连接到的服务。或者,你可以去GUI界面该文件在

Start->Programs->Oracle->Configuration and Migration Tools->Net Configuration Assistant

和设置您的Oracle连接那里。然后,ODBC将能够解决服务名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top