Delphi下使用Oracle Access控件组下TOraSession控件链接
数据库,使用
orsn1.Options.Direct:=true;
orsn1.Server:=IP:Port:SID;
orsn1.Username:=UserName;
orsn1.Password:=PassWord;
orsn1.Connect;
即可链接成功,这是使用SID方式链接的。
但如果登陆数据库使用服务名方式,程序死活链接不上,原因,
说是因为Delphi ODAC与Oracle RAC
Direct mode does not support RAC.YOU can connect only to one fixed server
in RAC.
ODAC 控件中的Direct模式不支持Oracle RAC,只能够链接一个确定的RAC实例。
如果要使用ODAC控件连接Oracle RAC,则需要Oracel安装客户端,并且不使用Direct模式,
链接方式与ADO连接Oracle一致。
根据说明,安装Oracle客户端,安装好之后,查找tnsnames.ora文件
在文件增加
DMSII=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.73)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.74)(PORT = 1521))
(LOAD_BALANCE = ON)
(FAILOVER = ON)
(CONNECT_DATA =
(SERVICE_NAME = DMSII)
(FAILOVER_MODE =
(TYPE = select)
(METHOD = BASIC)
(RETRIES = 30)
(DELAY = 5)
)
)
)
注意,DMSII前不能有空格
程序代码修改
orsn1.Username:=UserName;
orsn1.Password:=PassWord;
orsn1.Server:=服务名;
orsn1.Connect;
链接即可。