ODAC有两种连接Oracle的方式:
在 Client 模式下,使用Oracle Client 软件,
在 Direct 模式下,通过 TCP/IP连接,这种方式发布程序的时候不需要客户端安装Oracle Client 软件。
推荐使用Direct模式
方法:在OraSession的Option中选择Direct,连接的服务器写为“IP:端口:全局服务器名”,例如:
配置连接参数如下
直接访问模式(Direct mode)是ODAC最大的特色之一,即不需要安装Oracle客户端,ODAC越过了OCI(Oracle Call Interface ),使用TCP/IP协议就可以直接与Oracle服务器通信,使得ODAC程序的部署非常方便,性能也非常高。
要设置直接访问模式,只需要将连接组件的选择项Direct设为True
Session.Options.Direct := True;
其他的参数设置同正常模式。使用直接访问模式的优势是不需要安装Oracle客户端,部署更方便,资源消耗也有所降低,但是也有所限制,包括:
1、只能使用TCP/IP协议。
2、个别数据类型不支持,包括OBJECT、ARRAY、REF、XML、BINARY_DOUBLE、BINARY_FLOAT等。
3、SQL中使用RETURNING时无法返回RowsAffected属性结果。
4、不支持TOraLoader直接导入数据。
5、不支持客户端的NLS转换。
6、不支持透明应用备援模式(Transparent application failover ,TAF)。
7、不支持SQL语句缓冲模式(statement caching)。
8、不支持操作系统身份认证功能(OS authentication feature)。
9、不支持变动消息通知组件(TOraChangeNotification)。
10、多线程下建议每个线程使用独立的TOraSession组件,不保证多线程下共用一个TOraSession的稳定性。
代码模式
OraSession1.Options.Direct:=True
OraSession1.Username:='wh_zhang';
OraSession1.Password:='wh_zhang';
OraSession1.Server:='10.162.244.172:1521:RSSNDB';
OraSession1.Connected;
TOraSession
设定与控制与Oracle数据库的连接。
当User、Password、Server属性设置好以后,你可以通过调用Connect方法或者设定Connected属性为True来建立一个与数据库的连接。数据访问的组件,像TOraQuery、TOraSQL、TOraScript,必须有他们的被赋予一个TOraSession实例的Session属性。