服务器安装的是oracle 11g,我在客户端安装的是oracle 11g的精简客户端。可以使用SQL DEVELOPER远程连接oracle 11g服务器。
但是我新建了一个ADO.UDL文件来测试连接(因为我要用VC6.0连接oracle服务器,需要通过这个来获得连接字符串),在数据连接属性中提供程序选择Microsoft OLE DB Provider for Oracle, 在连接中输入服务器的IP,用户名,密码。测试连接的时候提示:测试连接失败,因为初始化提供程序时发生错误。ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME.
在服务器用ADO.UDL测试连接时,在提供程序中有一个Oracle Provider for OLE DB,用这个测试连接是成功,是不是因为客户端是安装的精简的,所以提供程序中没有这个,但是我用ORACLE11G的安装光盘安装时没有安装客户端这个选项。
求高手指点下这种情况下怎么解决远程连接的问题。。

解决方案 »

  1.   

    这是我客户端tnsnames.ora文件:
    ORADB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.162.160)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = TESTDB.myoracle)
        )
      )
      

  2.   

    1.在服务器端的配置:Database configuration Assistant->选择“共享服务器模式”  netmanager->监听程序|LISTENER|添加地址,主机填:服务器端的IP地址即可. 重启电脑。
      

  3.   

    SERVICE_NAME = TESTDB.myoracle
    你的数据库实例名是这个?