2010-12-21 160 views
0

我创建了数据集并可以使用表格适配器预览数据。但是当我运行程序时,OracleConnection使用相同的连接字符串初始化抛出TNS:无法解析连接标识符!为什么它在设计师身上起作用,但当我运行它时却不行?TNS:无法解析连接标识符TNS:无法解析连接标识符

这里是我的本钱:

MYTNS = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.90)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = MYTNS) 
    ) 
) 
+0

你确认你的程序找到了正确的tnsnames文件吗? – gregwhitaker 2010-12-21 17:49:43

+1

从命令行运行TNSPING对MYTNS并确认它使用的是预期的tnsnames文件。发布输出。 – Karl 2010-12-21 20:21:59

回答

2

感谢名单家伙您的输入。它通常帮助我理解这是如何工作的。但似乎问题出现在环境变量“path”和machine.config中。在运行设计器时,它从注册表中读取信息,并可以轻松找到所需的所有dll,但在运行时使用路径。所以,你只需将你的一小部分路径指向ORA在家即可。
操作路径是一个众所周知的方法,但是在您更深入地了解ora提供程序.NET的工作方式之前,您最终会尝试无知的一切。

3

看来,你的问题已经得到解决,但我想我会在有人的情况下添加此一起在未来的其他来了。

我以前有过这个相同的问题,并使用SysInternals进程监视器来查看我的应用程序正试图检索我的机器上较旧的Oracle安装的tnsnames文件。

http://technet.microsoft.com/en-us/sysinternals/bb896645

相关问题