各位:
我的ORACLESERVICEEIPTEST和ORACELLISTENER都以开启
而且客户段和服务器端用SQLPLUS/SQLPLUS WORKSHEET都可以连接和查询net manager和enterprise中都可以正常连接
但就是用VS.NET2005连接时报错TNS无法解析服务名,我很纳闷,请大家帮我看看
我的listener.ora和tnsnames数据如下:
# LISTENER.ORA Network Configuration File: D:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ctiapp)(PORT = 1521))
      )
    )
  )SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = DB)
      (ORACLE_HOME = D:\oracle\ora92)
      (SID_NAME = DB)
    )
    SID_DESC =
      (GLOBAL_DBNAME = EIPTEST)
      (ORACLE_HOME = D:\oracle\ora92)
      (SID_NAME = EIPTEST)
  )
tnsnames数据如下:
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.INST1_HTTP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ctiapp)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = MODOSE)
      (PRESENTATION = http://HRService)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ctiapp)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DB)
    )
  )EIPTEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ctiapp)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = EIPTEST)
    )
  )

解决方案 »

  1.   

    Private Sub openOra()        If oraConnection.State = ConnectionState.Closed Then
                oraConnection = New OracleConnection
                oraConnection.ConnectionString = "Data Source=EIPTEST; user id= EIPTEST;password=EIPTEST;persist security info=false"
                oraConnection.Open()            oraCommand = New OracleCommand
                oraCommand.Connection = oraConnection
            End If    End Sub
      

  2.   

    你在测试的时候,用了什么用户呢?
    这个用户的TNS_ADMIN环境变量设置了吗?修改一下连接字符串,
    修改成
    User ID=EIPTEST;Password=IPTEST;Data Source=ctiapp:1521/EIPTEST;" 这样看看呢?还有你的系统的文件系统是FAT32?NTFS?你的ORACLE版本是什么?
    IIS的用户,对Oracle HOME目录有权限嘛?IUSR_<机器名>的文件的权限设置正确了吗?你都检查一下看看呢?
      

  3.   

    还有,看到过别人生成的EXE文件所在的目录名,有括号什么的,也出现这个错误。你的是不是也这样呢?