繁体   English   中英

使用Microsoft ODBC for Oracle连接到Oracle 10g数据库

[英]Connect to an Oracle 10g database with Microsoft ODBC for Oracle

我正在尝试使用内置的Microsoft ODBC for Oracle驱动程序连接到Oracle 10g数据库。 我想使用无连接的连接,所以我从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)."

据我所知,其他人使用Microsoft ODBC for Oracle驱动程序连接到10g,但也许我错过了一些东西。 顺便说一句,我是从vb.net应用程序连接的。

使用10g,您可以使用EZCONNECT功能。 要连接到服务器myServer上名为ORCL的Oracle实例,连接字符串将如下所示:

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

我不确定回答你自己的问题是多么犹豫,但我找到了一个更符合我要求的连接字符串:

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

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

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

并在那里建立你的oracle连接。 然后,ODBC将能够解析服务名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM