读书人

C#连接oracle诡异的ora-12154异常

发布时间: 2012-12-24 10:43:13 作者: rapoo

C#连接oracle,诡异的ora-12154错误
服务器上装有oracle9.2客户端,使用sql plus和pl/sql developer都可以正常连接该数据库

一个C#写的webService连接oracle的程序,放进IIS后显示ora-12154错误,无法解释的服务名
用C#再写个winform程序连接该oracle数据库,仍然是ora-12154错误

连接语句"data source = SRSRV;user=用户名; password=密码;";

上网查了很久,该程序目录不深,路径中也不包含中文或者特殊字符

检查了tnsname.ora文件,是用tnsping 数据库服务名能够ping通

请问会是什么问题,很急

谢谢各位了
[解决办法]
你有没有引用oracleclient啊?
[解决办法]
先谢谢楼上,这么2的错误不会犯的,编译都不会通过的

自己已经解决

不能仅用服务名

找到机器上安装的oracle客户端里面的tnsname.ora文件
查看与之对应的
服务名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip号)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 服务名)
)
)
复制(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip号)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 服务名)
)
)
改写连接字符串
"data source =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ip地址)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 服务名))); user=用户名; password=用户密码;";


可能在自己本地测试时oracle数据库装在本机,而发布的 服务器上的oracle仅有客户端的缘故吧
[解决办法]
困扰了两天的问题解决了!多谢多谢!!

引用:
先谢谢楼上,这么2的错误不会犯的,编译都不会通过的

自己已经解决

不能仅用服务名

找到机器上安装的oracle客户端里面的tnsname.ora文件
查看与之对应的
服务名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip号)(PORT = 1521))
(CONNECT_……

读书人网 >oracle

热点推荐