我在 Delphi 中使用 Oracle ODAC 连接 Oracle 10g 的数据库,连接单台服务器成功,但在连接 RAC 时出错,主要是不知道如何写相应的连接串。
    另外,我使用 ODAC 而没有使用 ADO、JDBC 的原因是不想在所有的客户端上都安装 Oracle 的客户端,或 JAVA 包。如果有不用安装客户端的其他连接 RAC 的方法也可以,谢谢大家帮忙!!!

解决方案 »

  1.   

    连RAC的客户端的tnsnames.ora设置不同。类似于这样ORACLE91 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (SDU = 32768)(PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = oracle9)
          (INSTANCE_NAME = oracle91)
        )
      )ORACLE92 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (SDU = 32768)(PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = oracle9)
          (INSTANCE_NAME = oracle92)
        )
      )oracle9 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
          (SOURCE_ROUTE = off)
          (failover = on)
          (load_balance = on)
        )
        (CONNECT_DATA =
          (SERVICE_NAME = oracle9)
          (failover_mode =
            (type = select)
            (method = basic)
            (backup = oracle92)
            (backup = oracle91)
          )
        )
      )
      

  2.   

    关键楼主是想干什么/failover?balance?
      

  3.   

    任何程序用TNSNAME方式,都只能连一个!~只有JAVA方便点,可以两个都写上。
      

  4.   

    最近我要面试,我想对oracle的rac了解一些,还有就是ais这方面的知识。
    像loap/etl
    谢谢了!了解的比较好点的告诉我一些啊!谢谢了啊!
    QQ:349271110感谢了,感谢了!
    谢谢楼主提的问题!