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
Analytický platformní systém (PDW)
Můžete použít SQLColAttribute k získání atributu sloupce výsledkové sady pro připravené nebo provedené ODBC příkazy. Volání SQLColAttribute na připravených příkazech způsobí okružní cestu do SQL Server. Nativní klientský ODBC ovladač SQL Server přijímá data sloupců výsledkové sady jako součást vykonávání příkazu, takže volání SQLColAttribute po dokončení SQLExecute nebo SQLExecDirect neznamená serverovou cestu tam a zpět.
Note
Atributy identifikátorů sloupců ODBC nejsou dostupné ve všech sadách výsledků SQL Server.
| Identifikátor pole | Description |
|---|---|
| SQL_COLUMN_TABLE_NAME | Dostupné na sadách výsledků získaných z příkazů generujících serverové kurzory nebo na vykonaných příkazech SELECT obsahujících klauzuli FOR BROSVIEW. |
| SQL_DESC_BASE_COLUMN_NAME | Dostupné na sadách výsledků získaných z příkazů generujících serverové kurzory nebo na vykonaných příkazech SELECT obsahujících klauzuli FOR BROSVIEW. |
| SQL_DESC_BASE_TABLE_NAME | Dostupné na sadách výsledků získaných z příkazů generujících serverové kurzory nebo na vykonaných příkazech SELECT obsahujících klauzuli FOR BROSVIEW. |
| SQL_DESC_CATALOG_NAME | Název databáze. Dostupné na sadách výsledků získaných z příkazů generujících serverové kurzory nebo na vykonaných příkazech SELECT obsahujících klauzuli FOR BROSVIEW. |
| SQL_DESC_LABEL | Dostupné na všech sadách výsledků. Hodnota je totožná s hodnotou SQL_DESC_NAME pole. Pole má nulovou délku pouze tehdy, pokud je sloupec výsledkem výrazu a výraz neobsahuje přiřazení štítků. |
| SQL_DESC_NAME | Dostupné na všech sadách výsledků. Hodnota je totožná s hodnotou SQL_DESC_LABEL pole. Pole má nulovou délku pouze tehdy, pokud je sloupec výsledkem výrazu a výraz neobsahuje přiřazení štítků. |
| SQL_DESC_SCHEMA_NAME | Jméno majitele. Dostupné na sadách výsledků získaných z příkazů generujících serverové kurzory nebo na vykonaných příkazech SELECT obsahujících klauzuli FOR BROSVIEW. Dostupné pouze tehdy, pokud je v příkazu SELECT uvedeno jméno vlastníka pro sloupec. |
| SQL_DESC_NÁZEV_TABULKY | Dostupné na sadách výsledků získaných z příkazů generujících serverové kurzory nebo na vykonaných příkazech SELECT obsahujících klauzuli FOR BROSVIEW. |
| SQL_DESC_UNNAMED | SQL_NAMED pro všechny sloupce ve výsledné množině, pokud sloupec není výsledkem výrazu, který neobsahuje přiřazení štítků jako součást výrazu. Když SQL_DESC_UNNAMED vrátí SQL_UNNAMED, všechny atributy identifikátorů sloupců ODBC obsahují řetězce nulové délky pro daný sloupec. |
Nativní klientský ODBC ovladač pro SQL Server používá tento SET FMTONLY příkaz ke snížení režijní režie serveru, když je SQLColAttribute vyvolán pro připravené, ale neprovedené příkazy.
Pro velké typy hodnot SQLColAttribute vrátí následující hodnoty:
| Identifikátor pole | Popis změny |
|---|---|
| SQL_DESC_DISPLAY_SIZE | Jedná se o maximální počet znaků potřebných k zobrazení dat ze sloupce. Pro sloupce typu s velkou hodnotou je vrácená hodnota SQL_SS_LENGTH_UNLIMITED. |
| SQL_DESC_LENGTH | Vrátí skutečnou délku sloupce ve výsledné množině. Pro sloupce typu s velkou hodnotou je vrácená hodnota SQL_SS_LENGTH_UNLIMITED. |
| SQL_DESC_OCTET_LENGTH | Vrátí maximální délku sloupce typu s velkou hodnotou. SQL_SS_LENGTH_UNLIMITED se používá k označení neomezené velikosti. |
| SQL_DESC_PRECISION | Vrací hodnotu SQL_SS_LENGTH_UNLIMITED pro sloupce s velkou hodnotou. |
| SQL_DESC_TYPE | Výnosy SQL_VARCHAR, SQL_WVARCHAR a SQL_VARBINARY pro typy s velkou hodnotou. |
| SQL_DESC_TYPE_NAME | Vrací "varchar", "varbinary", "nvarchar" pro typy s velkou hodnotou. |
Ve všech verzích jsou sloupcové atributy reportovány pouze pro první sadu výsledků, když je více sad výsledků generováno připravenou sadou SQL příkazů.
Následující sloupcové atributy jsou rozšíření zpřístupněná nativním klientským ODBC ovladačem SQL Server. Nativní klientský ODBC ovladač SQL Server vrací všechny hodnoty v parametru NumericAttrPtr. Hodnoty se vracejí jako SDWORD (signed long) kromě SQL_CA_SS_COMPUTE_BYLIST, což je ukazatel na pole WORD.
| Identifikátor pole | Vrácená hodnota |
|---|---|
| SQL_CA_SS_COLUMN_HIDDEN* | PRAVDA, pokud je sloupec na který odkazováno součástí skrytého primárního klíče vytvořeného pro podporu příkazu Transact-SQL SELECT obsahujícího FOR BROWSE. |
| SQL_CA_SS_COLUMN_ID | Ordinální pozice sloupce výsledků klauzule COMPUTE v aktuálním příkazu SELECT Transact-SQL. |
| SQL_CA_SS_COLUMN_KEY* | PRAVDA, pokud je sloupec, na který odkazujeme, součástí primárního klíče pro daný řádek a příkaz SELECT Transact-SQL obsahuje FOR BROWSE. |
| SQL_CA_SS_COLUMN_OP | Celé číslo specifikující agregátní operátor odpovědný za hodnotu ve sloupci COMPUTE klauzule. Definice celočíselných hodnot jsou v sqlncli.h. |
| SQL_CA_SS_COLUMN_ORDER | Ordinální pozice sloupce v rámci ODBC nebo Transact-SQL příkazu SELECT ORDER BY. |
| SQL_CA_SS_COLUMN_SIZE | Maximální délka v bajtech je potřebná k navázání hodnoty dat získané ze sloupce na SQL_C_BINARY proměnnou. |
| SQL_CA_SS_COLUMN_SSTYPE | Nativní datový typ uložený ve sloupci SQL Server. Definice typů jsou v sqlncli.h. |
| SQL_CA_SS_COLUMN_UTYPE | Základní datový typ uživatelsky definovaného datového typu sloupce SQL Server. Definice typů jsou v sqlncli.h. |
| SQL_CA_SS_COLUMN_VARYLEN | PRAVDA, pokud se délka dat sloupce může lišit, jinak NEPRAVDIVO. |
| SQL_CA_SS_COMPUTE_BYLIST | Ukazatel na pole WORD (neoznačené short), které specifikuje sloupce použité ve frázi BY klauzule COMPUTE. Pokud klauzule COMPUTE nespecifikuje frázi BY, vrátí se ukazatel NULL. První prvek pole obsahuje počet sloupců seznamu BY. Dalšími prvky jsou sloupcové ordinály. |
| SQL_CA_SS_COMPUTE_ID | computeid řádku, který je výsledkem COMPUTE klauzule v aktuálním příkazu SELECT Transact-SQL. |
| SQL_CA_SS_NUM_COMPUTES | Počet COMPUTE klauzel specifikovaných v aktuálním příkazu SELECT Transact-SQL. |
| SQL_CA_SS_NUM_ORDERS | Počet sloupců specifikovaných v ODBC nebo Transact-SQL klauzuli ORDER BY v příkazu SELECT. |
* Dostupné, pokud je attribute SQL_SOPT_SS_HIDDEN_COLUMNS příkazu nastaven na SQL_HC_ON.
SQL Server 2005 (9.x) zavedl specifická deskriptorová pole pro ovladače, která poskytovala další informace pro označení názvu kolekce XML schématu, názvu schématu a názvu katalogu. Tyto vlastnosti nevyžadují uvozovky ani únikový znak, pokud obsahují nealfanumerické znaky. Následující tabulka uvádí tato nová deskriptorová pole:
| Název sloupce | Typ | Description |
|---|---|---|
| SQL_CA_SS_XML_SCHEMACOLLECTION_CATALOG_NAME | CharacterAttributePtr | Název katalogu, kde je definován název kolekce XML schématu. Pokud nelze najít název katalogu, pak tato proměnná obsahuje prázdný řetězec. Tyto informace jsou vráceny z pole SQL_DESC_SS_XML_SCHEMACOLLECTION_CATALOG_NAME záznamu IRD, což je pole pro čtení a zápis. |
| SQL_CA_SS_XML_SCHEMACOLLECTION_SCHEMA_NAM E | CharacterAttributePtr | Název schématu, kde je definován název kolekce XML schématu. Pokud nelze název schématu najít, pak tato proměnná obsahuje prázdný řetězec. Tyto informace jsou vráceny z pole SQL_DESC_SS_XML_SCHEMACOLLECTION_SCHEMA_NAME záznamu IRD, což je pole pro čtení a zápis. |
| SQL_CA_SS_XML_SCHEMACOLLECTION_NAME | CharacterAttributePtr | Název kolekce XML schémat. Pokud jméno nelze najít, pak tato proměnná obsahuje prázdný řetězec. Tyto informace jsou vráceny z pole SQL_DESC_SS_XML_SCHEMACOLLECTION_NAME záznamu IRD, což je pole pro čtení a zápis. |
Také SQL Server 2005 (9.x) zavedl nová specifická deskriptorová pole pro ovladače, která poskytují další informace buď pro uživatelsky definovaný typ (UDT) sloupce výsledné sady, nebo pro parametr UDT uložené procedury či parametrizovaného dotazu. Tyto vlastnosti nevyžadují uvozovky ani únikový znak, pokud obsahují nealfanumerické znaky. Následující tabulka uvádí tato nová deskriptorová pole:
| Název sloupce | Typ | Description |
|---|---|---|
| SQL_CA_SS_UDT_CATALOG_NAME | CharacterAttributePtr | Název katalogu obsahujícího UDT. |
| SQL_CA_SS_UDT_SCHEMA_NAME | CharacterAttributePtr | Název schématu obsahujícího UDT. |
| SQL_CA_SS_UDT_TYPE_NAME | CharacterAttributePtr | Název UDT. |
| SQL_CA_SS_UDT_ASSEMBLY_TYPE_NAME | CharacterAttributePtr | Sněmovna byla kvalifikovaným názvem UDT. |
Stávající identifikátor pole descriptor SQL_DESC_TYPE_NAME se používá k označení názvu UDT. SQL_DESC_TYPE pole pro sloupec typu UDT je SQL_SS_UDT.
Podpora SQLColAttribute pro vylepšené funkce data a času
Pro hodnoty vrácené pro typy dat/času viz sekce "Informace vrácené v IRD polích" v metadatech parametrů a výsledků.
Pro více informací viz Vylepšení dat a času (ODBC).
Podpora SQLColAttribute pro velké CLR UDT
SQLColAttribute podporuje velké uživatelsky definované typy CLR (UDT). Pro více informací viz Large CLR User-Defined Types (ODBC).
Podpora SQLColAttribute pro řídké sloupce
SQLColAttribute dotazuje nové pole implementačního řádku descriptor (IRD), SQL_CA_SS_IS_COLUMN_SET, aby zjistil, zda je sloupec column_set .
Pro více informací viz Sparse Columns Support (ODBC).
Viz také
Funkce SQLColAttribute
Podrobnosti implementace rozhraní ODBC API
SQLSetStmtAttr