服务器上装有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.   

    http://topic.csdn.net/u/20100615/09/61F9381D-7C18-4FD1-9F23-9B782A1DC359.html
      

  2.   


    会是sqlnet.ora的问题么,服务器上只有oracle的客户端,找了里面没有sqlnet.ora文件,只在sample里面存在,需要拷出来自己写么,可是我用sql plus和pl/sql的客户端都是能够连接的啊
      

  3.   

    已经解决不能仅用服务名找到机器上安装的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仅有客户端的缘故吧