来自网络驱动器上的.NET应用程序的TNS-12560错误

时间:2017-04-26 20:07:12

标签: .net vb.net oracle11g

我有一个我不时工作的.NET应用程序。我在Windows 7计算机上运行IDE(我已经尝试过VB2008,VS2010和VS2012)。

当我在本地硬盘驱动器上安装解决方案(项目)时,它会从IDE中以调试模式运行。但是,如果我在网络驱动器上有解决方案,我会得到TNS-12560。

在Oracle技术支持部门花了2.5天时间,发现将其移至我的本地磁盘是有效的。他们现在声称这是解决方案。

这不是解决方案,我希望有人在这里有解决方案。

我正在运行Oracle 11g r2(11.2.0.4.0)32位客户端。

BT,这曾经没有任何问题。我不知道MS或Oracle是否在惹我生气。

编辑 - 此问题与网络驱动器上的VB.NET解决方案与本地硬盘驱动器上的VB.NET解决方案完全相关。如果我运行IDE并连接到网络驱动器上的解决方案,它将失败,如果我连接到本地硬盘(C :)上完全相同的解决方案,它可以正常工作。

1 个答案:

答案 0 :(得分:-1)

通常,TNS-12560表示将客户端连接到数据库侦听器时出错。鉴于它在本地计算机上的连接告诉我,您尝试连接的数据库上的侦听器已启动并正确配置以连接到数据库。所以问题出在你想要运行软件的机器上。你说它以前一直都有用,所以它告诉我TNS配置已被更改,或者你要运行软件的机器无法再到达网络上的数据库机器。从您要运行该软件的计算机上,您可以ping数据库服务器吗?如果没有,那么TNS也无法访问它,你需要弄清楚为什么它无法访问。如果你可以ping它,那么TNS就存在配置问题。在要运行该软件的计算机上,使用Windows资源管理器导航到TNS配置文件夹(Oracle永远不会告诉您这样做,他们会告诉您使用TNS配置工具)。 TNS配置文件夹通常位于C:\ app \ username \ product \ 11.2.0 \ client_1 \ network \ admin中,其中username是安装客户端的用户配置文件。在有一个名为tnsnames.ora的文件中。此文件是一个特定格式的简单文本文件,它告诉客户端数据库在网络上的位置。例如,我的tnsnames.ora包含:

DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.38)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

有三条信息定义了与数据库的连接,数据库所在机器的IP地址(host = 192.168.10.38),监听器名称(SERVICE_NAME = orcl)和端口听众正在聆听(PORT = 1521)。您需要确认数据库的信息是否正确。