我是数据库和.net的新手!
我安装了SQL developer 3.0,通过它我可以连接到Oracle 11g数据库服务器。
要求是编写一个C#程序连接到oracle数据库并运行查询;在我的visual studio 2013项目中,我添加了对Oracle.DataAccess.Client的引用并编写了代码,但在调试时出现了一个错误,上面写着"Ora-12541:TNS:No Listener"。
我现在的问题是,我需要安装Oracle客户端吗(64位ODAC 11.2 Release 6(11.2.0.4.0)Xcopy for Windows x64?),我的假设是SQL开发人员会处理好这件事!
请帮忙!
SQL Developer有自己的Oracle驱动程序(据我所知是JDBC),因此您必须安装Oracle客户端才能连接到Visual Studio中的Oracle数据库。
注意,"ODAC"只包含ODP.NET数据提供程序(即主要是Oracle.DataAccess.dll
文件)。为了使用它,您必须安装实际的Oracle客户端——至少是即时客户端(它也包含在ODAC下载文件中)。
考虑使用ODP.NET托管驱动程序,那么您只需要一个DLL,不需要其他任何东西。它可以从Oracle页面64位Oracle数据访问组件(ODAC)下载,适用于32位和64位应用程序。
除非您从另一台机器复制了Oracle.DataAccess.dll,否则包括它的所有Oracle软件包都会包含客户端的某个版本。ODAC包括完整版本,而xcopy安装具有即时客户端。不过,为了简单起见,我还将指出托管提供程序,因为它没有任何非托管依赖项,
但是,如果您一直遇到"ora-xxxxxx"错误,听起来您的Oracle客户端安装正确。你现在唯一的问题是你的连接字符串。如果您通常在Sql Developer中使用TNS名称,那么您需要将现有的tnsnames.ora复制到新的oracle主目录中的network/admin,或者您需要设置一个TNS_admin系统环境变量以指向现有的系统环境变量。还有其他选项,但在这种情况下,您的错误是特定于tns的。