服务器上装有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通请问会是什么问题,很急谢谢各位了

解决方案 »

  1.   

    先谢谢楼上,这么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仅有客户端的缘故吧