如何使用ODBC批量获取或插入行? (在C或C ++中)

时间:2011-06-29 18:32:40

标签: c++ c odbc

我试图了解要调用哪些ODBC函数以及如何调用 它们是为了批量获取行或批量插入行(使用绑定变量而不仅仅是插入语句数组的插入)。

我可以按顺序调用这些函数一次获取一行

SQLBindParameter
SQLExecute
SQLFetch

另外,如果进行插入/更新,我可以通过调用这些函数一次一行

SQLBindParameter
SQLExecute

我不知道的是我需要在这些调用中更改以便:

1)批量获取行,例如每批150行
2)每个SQLExcecute调用插入几行,例如每次通话150行

简短包含的示例(不一定是可编译的,因为ODBC编程往往很长..所以忽略设置/初始化,忽略错误检查)演示如何完成这将有所帮助。或指向可以理解的开源代码的指针

3 个答案:

答案 0 :(得分:2)

以下文章将介绍如何一次性发送参数行:

http://www.easysoft.com/products/data_access/odbc_odbc_bridge/performance_white_paper.html#3_1_2

基本上,您需要搜索SQLSetStmtAttr和SQL_ATTR_PARAMSET_SIZE。

要一次性获取多行,请参阅http://www.easysoft.com/developer/languages/c/odbc-tutorial-fetching-results.html

搜索SQL_ATTR_ROW_ARRAY_SIZE。

答案 1 :(得分:2)

有两个自包含的如何在此站点上执行数组绑定的示例
http://msdn.microsoft.com/en-us/library/ms709287(v=vs.85).aspx
此外,DB2客户端附带了几个示例代码,其中一些示例代码显示了如何对插入和选择进行数组绑定

答案 2 :(得分:1)

以下是来自IBM Developerworks的优秀文章,可能会回答您关于ODBC架构的一些问题:

ODBC programming using Apache Derby(可通过Wayback Machine获得)

使用ODBC连接优化网络流量的主要“技巧”之一是您定义光标的方式:

http://technet.microsoft.com/en-us/library/ms131453.aspx

'希望有所帮助.. PSM