目前我的程序中使用的是连接串的方式连接ORACLE数据库
string ConnectionString = "Data Source=dataSource;User Id=user;Password=pwd"然后在客户端所在的电脑上安装oracle客户端,并在相应的tnsnames.ora中配置相关的dataSource信息现在因为业务需求,不想让客户直接看到tnsnames.ora中关于数据源的配置信息,以防其进行更改现在想问问大家,如果不通过上述方法,还能有什么方法可以连接ORACLE数据库,可不可以我自己在写连接字符串的时候得到dataSource的配置,然后再连接呢?
还是说C#必须通过ORACLE客户端自己去解析它的tnsnames.ora,才能取得与数据库的连接呢?

解决方案 »

  1.   

    tnsnames.ora 文件里有这个,这个是客户端配置到服务器的文档,你模仿一下吧!我这个也是人家给我弄的
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora81\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.HHKERP.EEC.KSEC.COM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.108)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hhkerp)
        )
      )DZERP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = sveecd)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = erp)
        )
      )DB.EEC.KSEC.COM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = zhouquandang.eec.ksec.com)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = db.orc)
        )
      )DB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ZHOUQUANDANG)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = DB)
        )
      )HHKERP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = HUHAIKUN-DELL)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = HHKERP)
        )
      )
      

  2.   

    db.eec.ksdz的是本地配置!hhk的是远程配置