现在出现个问题,我写的软件拿到这里,用ADO 连接数据库时,就会出错。  这是 _ COM_ERR 报错,返回E_FAIL. 我在想,应该是两个版本的ORACLE冲突了,我尝试过把9给卸了,但还是没用。  
我现在就在想,哪个地方设置,可以让程序使用9i的 OLEDB DLL.连接数据库。环境变量,我把这个
C:\oracle\ora90\bin;  放在第一个的。我在想是不是注册表还有地方要改?     

解决方案 »

  1.   


    我怀疑就是版本冲突造成的,但现在已经混装了。
     我卸载一个也不行。  只能想办法让程序找到我的9I了。。 。  我在想PL\SQL 就能找到。它是如何做到的?
      

  2.   

    PL/SQL是根据TNS来进行连接ORACLE的
    而你写的程序看起来似乎是走的OLEDB,似乎和机器环境没有什么关系,就是个OLEDB版本是否匹配
      

  3.   

    应该是可以的
    你修改10g的tnsname.ora文件 
    创建配置个连接9i的网络服务名 应该可以
      

  4.   


    这是我D盘的10G 的  tnsname.ora文件  配置:
    # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.#sampleORACLE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.216)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hnmtc)
        )
      )我C盘的9I,也是这个配置。创建配置个连接9i的网络……
    这个该如何做?我对ORACLE不熟
      

  5.   


    一开始报过 说找不到OraOLEDB10us.dll。  后来我卸载9,重装,修改了环境变量。导致现在报错不一样了。
      

  6.   

    # TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.#sampleORACLE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.3.216)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hnmtc)
        )
      )把这个复制到10G的后面?紧跟着?全复制吗?
      

  7.   

    不是版本冲突,是你没有装好OLEDB组件。下一个ODAC的组件包吧。