2011-06-29 9 views
5

Próbuję zrozumieć, które ODBC funkcje zadzwonić i jak zadzwonić je w celu zwrcania wiersze w partiach lub wstawić wiersze w partiach (wkładki, które używają zmiennych powiązań nie tylko tablicę sprawozdania insert) .Jak pobierać lub wstawiać wiersze w partiach za pomocą ODBC? (W C lub C++)

mogę pobrać jeden wiersz naraz poprzez wywołanie tych funkcji w celu

SQLBindParameter 
SQLExecute 
SQLFetch 

Także jeśli robi wkładki/poprawki mogę zrobić jeden wiersz na raz wywołując te funkcje

SQLBindParameter 
SQLExecute 

Co ja nie wiem, co muszę zmienić w tych połączeń w celu:

1) Pobiera wiersze w partiach m.in. 150 rzędów na partię
2) wprowadzić kilka wierszy na przykład połączenia SQLExcecute 150 wierszy na wywołanie:

Krótkie przykłady (niekoniecznie kompilowalne, ponieważ programy ODBC mają tendencję do dłuższego .. więc ignoruj ​​konfigurację/inicjalizację, ignoruj ​​sprawdzanie błędów) demonstrując, jak to zrobić, byłoby pomocne. Lub wskaźnik do zrozumiały otwartym kodem źródłowym, który robi takie rzeczy

+1

Database czytanie/pisanie będzie o rząd wielkości droższe niż niewielki koszt wywołania funkcji wywoływania SQLBindParameter/SQLExecute kilka razy. –

+0

Nie jestem pewien, co masz na myśli. Wiem, że odbc i inne propratery apis obsługują operacje wsadowe. Po prostu nie wiem, jak to zrobić przy użyciu odbc. W Javie na przykład mają metody, takie jak PreparedStatement.addBatch() PreparedStatement.executeBatch() – user754425

+1

to dlatego, że interfejs JNI Java do C jest bardzo kosztowne. Im mniej połączeń natywnych, tym lepiej.Tak nie jest, gdy programujesz w C lub C++. –

Odpowiedz