在unixODBC中处理大型结果集

时间:2014-06-25 06:40:31

标签: odbc resultset unixodbc

使用unixODBC(在我的CentOS 6.0机器上)连接到远程数据库(Postgres / Sybase),我的远程数据库中有一个非常大的结果集。有什么办法可以限制调用SQLExecute()时撤回的结果数量吗?例如,如果远程数据库中有大约600万条记录,我想运行我的选择查询以仅在SQLExecute上返回有限数量的结果(例如1000条记录)。一旦我用SQLFetch读取了那1000条记录,那么下一个SQLFetch应该从远程数据库中获取下一批结果。

我已阅读过UnixODBC的手册,但找不到解决方案。任何帮助/链接都非常感谢。

谢谢, Vaishnavi

1 个答案:

答案 0 :(得分:0)

我有类似的问题。无法提取太多记录,该语句将因此出错。

对我来说,解决方案涉及在连接字符串的末尾附加“; UseDeclareFetch = 1”(我注意到您正在使用Postgres)。

有关此功能(后果等)的使用的详细信息,请点击以下链接:

https://www.simba.com/products/PostgreSQL/doc/ODBC_InstallGuide/linux/content/odbc/re/options/ui/declarefetchmode.htm