Sdílet prostřednictvím


Načítání řádků pomocí SQLBulkOperations

Data je možné načíst do sady řádků pomocí záložek voláním SQLBulkOperations. Řádky, které se mají načíst, jsou identifikovány záložkami ve vázaném sloupci záložky. Sloupce s hodnotou SQL_COLUMN_IGNORE se nenačítají.

Chcete-li provést hromadné načítání pomocí SQLBulkOperations, aplikace provede následující:

  1. Načte a uloží do mezipaměti záložky všech řádků, které se mají aktualizovat. Pokud existuje více než jedna záložka a používá se vazba pro sloupce, záložky jsou uloženy v poli; pokud existuje více záložek a používá se vazba s řádky, záložky se ukládají do pole struktur řádků.

  2. Nastaví atribut příkazu SQL_ATTR_ROW_ARRAY_SIZE na počet řádků, které se mají načíst, a přiřadí vyrovnávací paměť, která obsahuje hodnotu záložky nebo pole záložek, ke sloupci 0.

  3. Nastaví hodnotu ve vyrovnávací paměti pro délku/indikátor každého sloupce podle potřeby. Jedná se o bajtovou délku dat nebo SQL_NTS pro sloupce vázané na vyrovnávací paměti řetězců, bajtovou délku dat pro sloupce vázané na binární vyrovnávací paměti a SQL_NULL_DATA pro všechny sloupce, které mají být nastaveny na hodnotu NULL. Aplikace nastaví hodnotu ve vyrovnávací paměti délky/ukazatele pro ty sloupce, které mají být nastaveny na výchozí hodnotu (pokud existuje) nebo na NULL (pokud neexistuje), na SQL_COLUMN_IGNORE.

  4. Volá SQLBulkOperations s argumentem Operace nastaveným na SQL_FETCH_BY_BOOKMARK.

Není nutné, aby aplikace používala pole operací řádků, aby se zabránilo provedení operace s určitými sloupci. Aplikace vybere řádky, které chce načíst, zkopírováním pouze záložek pro tyto řádky do vázaného pole záložek.