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.
SQLDescribeCol a SQLColAttribute se používají k načtení metadat sady výsledků. Rozdíl mezi těmito dvěma funkcemi spočívá v tom, že funkce SQLDescribeCol vždy vrací stejných pět informací (název sloupce, datový typ, přesnost, měřítko a nullability), zatímco FUNKCE SQLColAttribute vrátí jednu část informací požadovanou aplikací. SQLColAttribute ale může vrátit mnohem bohatší výběr metadat, včetně citlivosti na malá a velká písmena sloupce, velikosti zobrazení, aktualizovatelnosti a vyhledávání.
Mnoho aplikací, zejména těch, které zobrazují pouze data, vyžadují pouze metadata vrácená sqlDescribeCol. U těchto aplikací je rychlejší používat SQLDescribeCol než SQLColAttribute , protože informace jsou vráceny v jednom volání. Jiné aplikace, zejména ty, které aktualizují data, vyžadují další metadata vrácená funkcí SQLColAttribute , a proto používají obě funkce. Kromě toho SQLColAttribute podporuje metadata specifická pro ovladače; Další informace naleznete v části datových typů specifických pro ovladače, typů popisovačů, informačních typů, diagnostických typů a atributů.
Aplikace může kdykoli načíst metadata sady výsledků po přípravě nebo spuštění příkazu a před zavřeným kurzorem na sadu výsledků. Velmi málo aplikací vyžaduje metadata sady výsledků po dokončení příkazu a před jeho spuštěním. Pokud je to možné, aplikace by měly čekat na načtení metadat až po provedení příkazu, protože některé zdroje dat nemohou vracet metadata pro připravené příkazy a emulace této funkce v ovladači je často pomalý proces. Ovladač může například vygenerovat sadu výsledků nulového řádku nahrazením klauzule WHERE příkazu SELECT klauzulí WHERE 1 = 2 a spuštěním výsledného příkazu.
Načítání metadat ze zdroje dat je často nákladné. Z tohoto důvodu by ovladače měly ukládat všechna metadata, která načítají ze serveru, a uchovávat je tak dlouho, dokud je otevřen kurzor na sadu výsledků. Aplikace by také měly požadovat pouze metadata, která naprosto potřebují.