vb.net – ODP.NET ORA-12154仅在作为服务运行时出现TNS错误
发布时间:2020-12-17 07:11:07 所属栏目:百科 来源:网络整理
导读:我正在VB.NET中编写一个服务,使用ODP.NET不断将数据记录到Oracle DB 该应用程序最初是作为一个基本的Windows窗体应用程序编写的,然而当我将它移植到服务时它似乎无法看到TNS文件并抛出以下错误消息: Service cannot be started. Oracle.DataAccess.Client.O
我正在VB.NET中编写一个服务,使用ODP.NET不断将数据记录到Oracle DB
该应用程序最初是作为一个基本的Windows窗体应用程序编写的,然而当我将它移植到服务时它似乎无法看到TNS文件并抛出以下错误消息: Service cannot be started. Oracle.DataAccess.Client.OracleException ORA-12154:TNS:could not resolve the connect identifier specified 所以在使用以下示例connecttring时 "Data Source= example;User Id= user;Password=password;" 我得到了ORA-12154 如果我直接向应用程序提供完整的TNS条目,例如 "Data Source= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = EXAMPLE)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = EXAMPLE) ) );User Id= user;Password=password;" 然后它工作,但当我最初开发应用程序作为表单应用程序时,它的工作方式. 我假设可能没有正确设置环境变量,但我添加了所需的系统变量(ORACLE_HOME / TNS_ADMIN /将oracle文件夹添加到PATH)并且它不起作用. 服务正在运行/安装的路径不包含括号,我已经使用进程监视器检查了进程,看起来它正在使用正确的环境变量启动(ORACLE_HOME / TNS_ADMIN / PATH都在那里并且正确) .用于测试的机器正在运行Win XP 我在这里错过了什么? 谢谢 解决方法
我怀疑服务运行的用户需要整个oracle目录树的文件系统权限.这感觉就像一个权限问题,因为它无法解析连接标识符,但如果不需要则可以工作.
尝试为整个oracle客户端目录添加读取权限,以用于运行该服务的任何用户. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读