2011-06-29 245 views
5

我想了解要調用哪些ODBC函數以及如何調用 以便批量獲取行或批量插入行(插入使用綁定變量而不僅僅是插入語句數組) 。如何使用ODBC批量讀取或插入行? (在C或C++中)

我可以同時通過按順序調用這些函數

SQLBindParameter 
SQLExecute 
SQLFetch 

此外,如果執行插入/更新通過調用這些函數取一排,我可以做一次一行

SQLBindParameter 
SQLExecute 

我不知道的是我需要在這些調用中改變以便:

1)批量獲取行eg每批150行
2)每個SQLExcecute調用插入多行,例如:每次調用150行

簡短包含的示例(不一定需要編譯,因爲ODBC progs往往很長..所以忽略設置/初始化,忽略錯誤檢查),說明如何完成這將有所幫助。或者一個指向正在做這樣的事情

+1

數據庫結合的例子讀/寫的次數要比調用SQLBindParameter/SQLE的次要函數調用開銷多一倍。 –

+0

我不確定你的意思。我知道odbc和其他propratery apis支持批處理操作。 我只是不知道它是如何使用odbc完成的。例如,在Java中,他們有像 PreparedStatement.addBatch() PreparedStatement.executeBatch() – user754425

+1

這樣的方法,這是因爲Java的C到JNI接口非常昂貴。所以本地電話越少越好。當你使用C或C++編程時,情況並非如此。 –

回答