繁体   English   中英

如何使用 C++ 的 CDatabase ODBC 连接到 SQL 服务器数据库来设置或禁用查询超时

[英]How to set or disable the Query Timeout with a C++'s CDatabase ODBC connection to a SQL Server database

我需要通过一些代码运行查询。 在 MSSMS 中运行查询需要一分半钟(对于超过 4M 的行不算太破旧)。 在代码中,我打开连接

CDatabase *base = new CDatabase () ;
base->OpenEx ("Driver={SQL Server};Server=Computer\\User;Database=base;") ;

然后我可以创建CRecordset对象并运行查询。 SELECT COUNT查询工作正常(给出〜4M)。 第一个SELECT cols查询(获取一些属性)正常工作。 它们各自的CRecordset已正确关闭和清洁。 第二个SELECT cols查询(返回 4M 行的大连接)每次尝试都会超时。

我不知道如何设置查询超时值,如何调用该参数,或者首先在哪里设置它。 我尝试了连接字符串中的许多参数组合,我尝试编辑 ODBC 试点池选项。 我对使用另一个 ODBC 连接 object 不感兴趣,但我可以设置一个 DSN 并通过它进行连接,而不是使用直接连接字符串。

最坏的情况是最坏的情况,我只是将它全部分页,但现在很麻烦,而且由于查询可能超时,从逻辑上讲,也应该有一种方法来设置超时,我想知道它是什么。

查询超时不是连接字符串参数,至少对于 SQL 服务器不是。 您可能正在寻找CDatabase::SetQueryTimeout成员 function。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM