我已经在我的windows 7终极版中安装了OracleDatabase11.2.0.1 Win64和Client11.2.0.1 Win64,并且我能够使用sqlplus / as sysdba *plus访问Oracle数据库。之后,我安装了ODP.NET ODTwithODAC1120320_32bit,以便在Visual 2010中使用C#与C#一起工作。当我试图使用ODP添加到Oracle数据库的连接时,它会弹出ora-12560 :TNS: protocol adapter error,甚至在使用SqlPlus / as sysdba登录到Oracle时也会弹出。
我读过几篇文章说停止服务会导致,但我的正在运行。
有什么问题?
发布于 2012-09-27 13:57:38
我在VS 2010中使用Server连接到Oracle 11g面临的主要问题不是ODP与Oracle数据库的版本兼容性,而是它的体系结构。在出现这些错误后,我使用deinstall.bat文件卸载了OracleDatabase11g,然后清理了Registry ./Software/ Oracle并清理了临时文件,重新启动了系统。然后安装Oracle11g数据库x32数据库服务器,ODP.NET x32,检查Env。第一个成功是我能够使用SQL*Plus连接到DB。在那之后,开始VS 2010并试图连接.连在一起!wow已经在VS IDE中工作过了。我很高兴:)
我记得我重新安装了多少次Oracle(清理、配置检查侦听器、重新启动服务)。那我的努力就得到了回报。
这是一个截图

发布于 2014-06-12 12:01:47
通常,我建议将Oracle服务器安装在与您通常使用的凭据不同的位置。Oracle服务器(在Windows下)使用了一些环境变量;ODP.NET也是如此。虽然您无法轻松地在用户配置文件中的不同的env变量集合之间切换,但可以将不同的env var值分配给安装和/或正在运行Oracle服务器的(不同的)用户。
如果您已经安装了Oracle服务器(我怀疑这就是您的情况),那么尝试:
ORACLE_HOME、ORACLE_SID、NLS_LANGUAGE和PATH环境变量(对于整个Windows!)指向您的Oracle服务器。OracleServiceSOMETHING和Oracle SOMETHING VSS Writer Service以及OracleJobSchedulerSOMETHING和OracleOraDb11g_home1TNSListener的“登录”凭据更改为您刚刚创建的新user+password。(...其中SOMETHING通常是实例的名称)ORACLE_HOME和PATH env,分别指向ODP.NET根文件夹和根\bin文件夹;将ORACLE_SID和NLS_LANGUAGE vars设置为所需的任何值。如果这种情况行不通的话,我自己也得即兴发挥。但是到目前为止,我已经成功地在同一台机器上成功地运行了两个Oracle服务器和一个Oracle客户端,没有任何问题,所以我希望它也适用于您。如果没有,那么仍然可以完全重新安装Oracle服务器。
别忘了备份你的数据库。以防可怕的事情发生。
https://stackoverflow.com/questions/12595470
复制相似问题