现在的位置: 首页 > 综合 > 正文

ADO执行存储过程的问题

2013年10月09日 ⁄ 综合 ⁄ 共 382字 ⁄ 字号 评论关闭

 

    在DB2中创建了一个存储过程,需要处理大量数据,在DB2CMD下执行存储过程,一切OK,但是通过VC+ADO的方式,却发现执行失败,查找具体的原因发现 DB2中错误信息为:  SQL0952N  由于中断,处理被取消。  SQLSTATE=57014

 

     本以为是DB2中的超时时间配置有问题,因此将DB2 下的db2cli.ini文件下加入了 QUERYTIMEOUTINTERVAL=0  ,

重启DB2,再次执行,却发现仍然是错误。。。。

 

 

    百思不得其解,所以怀疑ADO是否超时时间设置失败,之前仅在每次open连接前,将连接的超时时间设置为0。

查了下资料却发现,原来_CommandPtr 也存在超时一说, 需要在执行存储过程前 设置pWriteUserCommand->CommandTimeout = 0;

 

 

   测试代码中加入该超时时间设置,一切OK。。。

抱歉!评论已关闭.