2013-01-31 39 views
0

我有一个问题,希望有人能解释给我。我在服务器上正确安装了Oracle 11g。从工作站上,我安装了oracle客户端,其中tnsname.ora指向Oracle数据库。我可以ping通安装oracle数据库的服务器。我可以通过sqlplus连接到数据库,我甚至可以使用C#以编程方式连接到数据库。然而,我不能勉强。试图这样做时,我收到错误消息3511。所以我的问题是:在什么情况下使用tnsping,以及如何使tnsping工作?换句话说,如果我的tnsping不起作用,但我仍然可以使用C#以编程方式连接到数据库,那么我应该担心的是什么?我是Oracle的新手..谢谢!不能t but,但可以sqlplus连接

回答

0

我试图做下面的行动没有成功,虽然他们是类似于我的类似情况的最流行的答案。

1) Set Oracle_Sid to my oracle sid 
2) Set Oracle_Home to my oracle home directory 

我做了什么来解决这个问题:

1) Uninstall oracle client 
2) Reinstall the oracle client with the newest version 11.2.xx. 

我相信,重新安装的早期版本的Oracle客户端将只正常工作。 但是,由于我必须重新安装客户端,我可能想要获得最新版本。 原因可能是第一次安装不当,因为我们有预装应用程序的磁盘映像以自动准备新计算机。 无法使用tnsping似乎并不妨碍其他Oracle操作(至少不是我所知道的)。

如果有人知道什么是不能绷带的限制,但可以连接sqlplus,ping ...,我将不胜感激,如果你可以分享。

0

无论你的$ ORACLE_HOME值未设置或默认的SID没有被设置在$ ORACLE_SID

试试这个:

set ORACLE_SID=mysid 
export ORACLE_SID 
tnsping mysid 

,看看它有回来。

+0

谢谢!我正在使用Windows。导出一个Windows命令?我得到了一个错误,指出在windows 7中导出不被识别为内部或外部命令。 – user1205746

+0

导出用于Linux安装。 对于windows安装只需使用set命令,它只会为您当前的cmd会话设置一个变量。 如果您想使其成为永久性设置,则需要将其添加到计算机属性中的变量中 – Jimoc

+0

将其添加到Windows的变量中不起作用。我仍然有同样的问题。奇怪的是,它只发生在某个工作站上。我有1个工作站没有t issue问题,另一个工作站有问题。不知道在哪里检查了。需要每个人检查或提及的地方(Oracle_Home,Oracle_SID)都被检查过并且它们是相同的。我的oracle_home在两个ws中,Oracle_SID没有在我的任何WS ... – user1205746

相关问题