VS2005,oracle10我的2005安装在oracle服务器上,用c#写了一个小程序,在服务器上运行一切正常,在其它机器安装了oracle客户端,配置正确也能连接服务器的数据库,但是运行EXE却不能连接,不知道是为什么?

解决方案 »

  1.   

    # tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = dlufida)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
      

  2.   

    host用IP呢?如果禁止wins解析,可能主机名会不被识别
      

  3.   

    我试过用IP,也不好用,不明白用plsqldev可以连,用程序为什么不行!?
      

  4.   

    我知道原因了! 程序中的代码用的是Oracle.DataAccess.Client和Oracle.DataAccess.Types,这东西在客户端是没有的!
    改用System.date.OracleClient就解决了! 赫赫,还有个问题,怎样才能在客户端安装Oracle.DataAccess.dll? 需要安装odp.net吗?
      

  5.   

    的确。Oracle.DataAccess.* 是 Oracle 的 ODP.NET 提供的,而不像 System.Data.OracleClient 是 .NET Framework 直接提供的。我想至少应该在程序路径下放置相关 Dll 吧,如果不安装 ODP.NET。