我使用unixODBC(在我的CentOS 6.0机器中)连接到远程数据库(Postgres/Sybase),并且我在远程数据库中有一个非常大的结果集。是否有任何方法可以限制调用SQLExecute()时撤回的结果的数量?例如,如果远程数据库中有大约600万条记录,我想在SQLExecute上运行我的选择查询,只返回有限数量的结果(例如1000条记录)。一旦我用SQLFetch读取了这1000条记录,那么下一个SQLFetch应该从远程数据库获取下一批结果。
我已经阅读了UnixODBC的手册,无法找到解决方案。任何帮助/链接是高度赞赏。
谢谢,Vaishnavi
我也遇到过类似的问题。要获取的记录太多,语句必然会出错。
对我来说,解决方案涉及追加';UseDeclareFetch=1'在我的连接字符串的末尾(我注意到你正在使用Postgres)。
有关this用法(后果等)的详细信息,请点击此链接:
https://www.simba.com/products/PostgreSQL/doc/ODBC_InstallGuide/linux/content/odbc/re/options/ui/declarefetchmode.htm