Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
azure Synapse Analytics
Obecně platí, že je třeba zvažovat důsledky použití SQLBindCol pro převod dat. Převody vazeb jsou klientské procesy, takže například získání hodnoty s plovoucí desetinnou čárkou vázané na sloupec znaku způsobí, že ovladač provede převod z plovoucího na znak lokálně při načtení řádku. Funkce Transact-SQL CONVERT může být použita k určení nákladů na převod dat na server.
Instance SQL Server může při jednom příkazu vrátit více sad výsledkových řádků. Každá množina výsledků musí být vázána samostatně. Pro více informací o vázání pro více sad výsledků viz SQLMoreResults.
Vývojář může navázat sloupce na SQL Server specifické C datové typy pomocí hodnoty TargetTypeSQL_C_BINARY. Sloupce vázané na typy specifické pro SQL Server nejsou přenosné. Definované SQL Server-specifické datové typy ODBC C odpovídají definicím typů pro DB-Library a vývojáři DB-Library přenášení aplikací mohou tuto funkci chtít využít.
Reportování zkrácení dat je nákladný proces pro nativní klientský ODBC ovladač SQL Server. Zkrácení lze zabránit tím, že zajistíte, že všechny vázané datové buffery jsou dostatečně široké pro vrácení dat. U znakových dat by šířka měla obsahovat místo pro terminátor řetězce, pokud je použito výchozí chování ovladače pro ukončení řetězce. Například přiřazení sloupce SQL Server char(5) na pole pěti znaků vede k okrácení každé načtené hodnoty. Přiřazení stejného sloupce na pole šesti znaků se vyhne zkrácení tím, že poskytne znakový prvek, do kterého lze uložit nulový terminátor. SQLGetData lze použít k efektivnímu získávání dlouhých znakových a binárních dat bez ořezání.
U typů dat s velkou hodnotou, pokud uživatelem dodaný buffer není dostatečně velký pro celou hodnotu sloupce, vrátí se SQL_SUCCESS_WITH_INFO a "string data; Je vydáno varování o zkrácení pravé strany. Argument StrLen_or_IndPtr bude obsahovat počet znaků/bajtů uložených v bufferu.
Podpora SQLBindCol pro vylepšené funkce data a času
Hodnoty výsledků sloupců typů dat/času jsou převedeny podle popisu Konverze ze SQL do C. Všimněte si, že pro získání sloupců čas a čas a čas a posun jako jejich odpovídající struktury (SQL_SS_TIME2_STRUCT a SQL_SS_TIMESTAMPOFFSET_STRUCT) musí být Cílový typ specifikován jako SQL_C_DEFAULT nebo SQL_C_BINARY.
Další informace naleznete v tématu vylepšení data a času (ODBC).
Podpora SQLBindCol pro velké CLR UDT
SQLBindCol podporuje velké uživatelsky definované typy CLR (UDT). Další informace najdete v tématu