关于IBM.Data.DB2

DB2Connection.BeginChain 方法

标记要发送至数据库服务器的一系列 INSERT、UPDATE 和 DELETE 语句的开始。

名称空间:
IBM.Data. DB2
组合件:
IBM.Data. DB2(在 IBM.Data. DB2.dll 中)

语法

[Visual Basic]
Public Sub BeginChain()
[C#]
public void BeginChain();
[C++]
public: void BeginChain();
[JScript]
public function BeginChain();

异常

异常类型条件
InvalidOperationException连接未打开。

注释

如果需要执行一大批 INSERT、UPDATE 和 DELETE 语句,那么可以将这些 SQL 语句链接起来,这样就降低了数据库服务器的网络流量,从而提高应用程序的性能。

在调用 BeginChain 方法来激活链接之前,必须打开 DB2Connection 对象。在调用 BeginChain 方法之后,对 DB2Connection 执行的 INSERT、UPDATE 和 DELETE 语句将在客户机上排队,直到调用了 EndChain 方法为止。在调用 EndChain 方法之后,会将这些语句发送至数据库服务器并执行这些语句。

无论链接是否处于活动状态,都可以使用 DB2CommandClass.ExecuteNonQuery 方法来执行 INSERT、UPDATE 和 DELETE 语句。但是,当链接处于活动状态时,对 DB2Command.ExecuteNonQuery 的所有调用都将返回 -1。这是因为在调用 EndChain 方法之后将同时执行链接在一起的所有语句,所以受特定语句影响的行数是未知的。可以从多个 DB2Command 对象执行链接的语句,也可以从单个 DB2Command 对象执行这些语句。必须从激活了链接的同一 DB2Connection 来创建用于执行链接的一系列语句的所有 DB2Command 对象。

为了与支持链接的数据库服务器进行连接,在调用 BeginChain 方法时将 Chaining 属性设置为 true,而在调用 EndChain方法时又将该属性重新设置为 false。有些数据服务器不支持链接。如果服务器不支持链接,那么 IBM Data Server Provider for .NET 将忽略 BeginChainEndChain 请求,并让 DB2Connection.Chaining 属性的值继续保持为 false,并将所有语句都单独提交给数据库服务器。可以通过检查 Chaining 属性来确定链接是否处于活动状态。

对于可以为单个 DB2Connection 对象链接的语句数没有任何限制。但是,在对 2,147,483,646 个语句进行排队之后,IBM Data Server Provider for .NET 就会在内部关闭链接,提交这些语句,然后重新启动链接。另外,一旦应用程序与数据库服务器之间的通信缓冲区(通常为 32KB)已满,就会将该缓冲区中的内容发送至服务器并保存在服务器中,直到调用 EndChain 为止。可以使用 rqrioblk 配置参数来调整此通信缓冲区的大小。

为了获得最佳性能,可在 INSERT、UPDATE 和 DELETE 语句中使用参数标记。

摘自:

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.swg.im.dbclient.adonet.ref.doc/doc/DB2ConnectionClassBeginChainMethod.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值