Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Az SQLColAttribute segítségével előkészített vagy végrehajtott ODBC utasításokhoz lekérheted egy eredményhalmaz oszlopának attribútumját. Az SQLColAttribute előkészített utasítások hívása oda-vissza SQL Server-hez vezet. Az SQL Server Native Client ODBC illesztőprogram az eredményhalmaz oszlopadatait fogadja az utasításvégrehajtás részeként, így az SQLColAttribute hívása SQLExecute vagy SQLExecDirect befejezése után nem igényel szerver vissza-vissza jutását.
Note
Az ODBC oszlopazonosító attribútumok nem elérhetők minden SQL Server eredményhalmazon.
| Mezőazonosító | Description |
|---|---|
| SQL_COLUMN_TABLE_NAME | Elérhető olyan eredményhalmazokon is, amelyeket szerverkurzorokat generáló utasításokból vagy FOR BROWSE klauzulát tartalmazó SELECT utasításokon keresztül futtattak. |
| SQL_DESC_BASE_COLUMN_NAME | Elérhető olyan eredményhalmazokon is, amelyeket szerverkurzorokat generáló utasításokból vagy FOR BROWSE klauzulát tartalmazó SELECT utasításokon keresztül futtattak. |
| SQL_DESC_BASE_TABLE_NAME | Elérhető olyan eredményhalmazokon is, amelyeket szerverkurzorokat generáló utasításokból vagy FOR BROWSE klauzulát tartalmazó SELECT utasításokon keresztül futtattak. |
| SQL_DESC_CATALOG_NAME | Adatbázis neve. Elérhető olyan eredményhalmazokon is, amelyeket szerverkurzorokat generáló utasításokból vagy FOR BROWSE klauzulát tartalmazó SELECT utasításokon keresztül futtattak. |
| SQL_DESC_LABEL | Minden eredménykészleten elérhető. Az érték megegyezik a SQL_DESC_NAME mező értékével. A mező csak akkor nulla hosszúságú, ha egy oszlop egy kifejezés eredménye, és az kifejezés nem tartalmaz címkézést. |
| SQL_DESC_NAME | Minden eredménykészleten elérhető. Az érték megegyezik a SQL_DESC_LABEL mező értékével. A mező csak akkor nulla hosszúságú, ha egy oszlop egy kifejezés eredménye, és az kifejezés nem tartalmaz címkézést. |
| SQL_DESC_SCHEMA_NAME | Tulajdonos neve. Elérhető olyan eredményhalmazokon is, amelyeket szerverkurzorokat generáló utasításokból vagy FOR BROWSE klauzulát tartalmazó SELECT utasításokon keresztül futtattak. Csak akkor érhető el, ha a tulajdonos neve meg van tüntetve az oszlopban a SELECT utasításban. |
| SQL_DESC_TABLE_NAME | Elérhető olyan eredményhalmazokon is, amelyeket szerverkurzorokat generáló utasításokból vagy FOR BROWSE klauzulát tartalmazó SELECT utasításokon keresztül futtattak. |
| SQL_DESC_UNNAMED | SQL_NAMED az eredményhalmaz összes oszlopára, kivéve, ha egy oszlop olyan kifejezés eredménye, amely nem tartalmaz címkés kiosztást az kifejezés részeként. Amikor SQL_DESC_UNNAMED SQL_UNNAMED-et ad vissza, minden ODBC oszlopazonosító attribútumban nulla hosszúságú string van az oszlophoz. |
Az SQL Server Native Client ODBC illezőprogramja ezt SET FMTONLY az utasítást használja a szerver túlterhelésének csökkentésére, amikor az SQLColAttribute előkészített, de nem végrehajtott utasításokra hívják.
Nagy értéktípusok esetén az SQLColAttribute a következő értékeket adja vissza:
| Mezőazonosító | A változás leírása |
|---|---|
| SQL leíró megjelenítési mérete | Ez a maximális karakterszám, amely szükséges az oszlopból származó adatok megjelenítéséhez. Nagy értékű oszlopok esetén a visszaadott érték SQL_SS_LENGTH_UNLIMITED. |
| SQL_DESC_LENGTH | Az eredményhalmazban az oszlop tényleges hosszát adja vissza. Nagy értékű oszlopok esetén a visszaadott érték SQL_SS_LENGTH_UNLIMITED. |
| SQL_DESC_OCTET_LENGTH | Egy nagy értékű oszlop maximális hosszát adja vissza. SQL_SS_LENGTH_UNLIMITED a korlátlan méret jelzésére szolgál. |
| SQL_DESC_PRECISION | A nagy értékű oszlopok SQL_SS_LENGTH_UNLIMITED értékét adja vissza. |
| SQL_DESC_TYPE | Nagy értékű típusok esetén SQL_VARCHAR, SQL_WVARCHAR és SQL_VARBINARY térít vissza. |
| SQL_DESC_TYPE_NAME | A nagy értéktípusok esetén "varchar", "varbinary", "nvarchar" adják vissza. |
Minden verziónál az oszlop attribútumokat csak az első eredményhalmazhoz jelentik, ha több eredményhalmazt generálnak egy előkészített SQL utasításcsoporttal.
Az alábbi oszlopattribútumok az SQL Server Native Client ODBC illezőprogramja által elérhető kiterjesztések. Az SQL Server Native Client ODBC illezőprogramja visszaadja az összes értéket a NumericAttrPtr paraméterben. Az értékek SDWORD-ként (hosszú aláírva) jelennek meg, kivéve a SQL_CA_SS_COMPUTE_BYLIST-t, amely egy WORD tömbre mutató.
| Mezőazonosító | Visszaadott érték |
|---|---|
| SQL_CA_SS_COLUMN_HIDDEN* | TRUE, ha a hivatkozott oszlop egy rejtett elsődleges kulcs része, amelyet egy Transact-SQL SELECT utasítás támogatására hoztak létre, amely tartalmazza a FOR BROWSE-t. |
| SQL_CA_SS_COLUMN_ID | A COMPUTE záradék eredményoszlopának ordinális pozíciója a jelenlegi Transact-SQL SELECT utasításban. |
| SQL_CA_SS_COLUMN_KEY* | TRUE, ha a hivatkozott oszlop a sor elsődleges kulcsának része, és a Transact-SQL SELECT utasítás tartalmazza a FOR BROWSE-t. |
| SQL_CA_SS_COLUMN_OP | Egész szám, amely megadja az aggregált operátort, amely felelős az értékért egy COMPUTE záradék oszlopban. Az egész számok definíciói a sqlncli.h adatbázisban találhatók. |
| SQL_CA_SS_COLUMN_ORDER | Az oszlop sorrendhelyzete egy ODBC-ben vagy Transact-SQL SELECT utasítás ORDER BY klauzulájában. |
| SQL_CA_SS_COLUMN_SIZE | A maximális hossz, bájtokban, szükséges az oszlopból visszanyert adatérték SQL_C_BINARY változóhoz kötéséhez. |
| SQL_CA_SS_COLUMN_SSTYPE | Az SQL Server oszlopban tárolt natív adattípus. A típusértékek definíciói a sqlncli.h adatbázisban találhatók. |
| SQL_CA_SS_COLUMN_UTYPE | Az SQL Server oszlop felhasználó által definiált adattípusának alapadattípusa. A típusértékek definíciói a sqlncli.h adatbázisban találhatók. |
| SQL_CA_SS_COLUMN_VARYLEN | IGAZ, ha az oszlop adatai hosszában változhatnak, különben HAMIS. |
| SQL_CA_SS_COMPUTE_BYLIST | Mutató egy WORD tömbre (nem aláírt rövidítés), amely megadja a COMPUTE klauzula BY frakciójában használt oszlopokat. Ha a Compute záradék nem határoz meg BY kifejezést, akkor egy NULL mutató jelenik meg. A tömb első eleme tartalmazza a BY lista oszlopok számát. További elemek az oszlop ordinálisok. |
| SQL_CA_SS_COMPUTE_ID | egy olyan sor kiszámítása, amely egy COMPUTE záradék eredménye a jelenlegi Transact-SQL SELECT utasításban. |
| SQL_CA_SS_NUM_COMPUTES | A jelenlegi Transact-SQL SELECT utasításban megadott Compute klauzulák száma. |
| SQL_CA_SS_NUM_ORDERS | Az ODBC vagy Transact-SQL SELECT utasítás ORDER BY klauzulájában megadott oszlopok száma. |
* Elérhető, ha az állítás attribútuma SQL_SOPT_SS_HIDDEN_COLUMNS SQL_HC_ON-re van állítva.
Az SQL Server 2005 (9.x) bevezetett illesztőgép-specifikus leíró mezőket, hogy további információkat biztosítsanak az XML sémagyűjtemény nevének, a séma nevének és a katalógusnévnek jelölésére. Ezek a tulajdonságok nem igényelnek idézőjelet vagy menekülő karaktert, ha nem alfanumerikus karaktereket tartalmaznak. Az alábbi táblázat ezeket az új leíró mezőket sorolja fel:
| Oszlop név | Típus | Description |
|---|---|---|
| SQL_CA_SS_XML_SCHEMACOLLECTION_CATALOG_NAME | CharacterAttributePtr | Az a katalógus neve, ahol egy XML séma gyűjtemény neve van meghatározva. Ha a katalógus neve nem található meg, akkor ez a változó üres stringet tartalmaz. Ez az információ az IRD SQL_DESC_SS_XML_SCHEMACOLLECTION_CATALOG_NAME rekordmezőjéből érkezik vissza, amely egy olvasás-írás mező. |
| SQL_CA_SS_XML_SCHEMACOLLECTION_SCHEMA_NAM E | CharacterAttributePtr | Az XML séma gyűjtemény neve a séma neve. Ha a séma neve nem található meg, akkor ez a változó üres stringet tartalmaz. Ez az információ az IRD SQL_DESC_SS_XML_SCHEMACOLLECTION_SCHEMA_NAME rekordmezőjéből érkezik vissza, amely egy olvasás-írás mező. |
| SQL_CA_SS_XML_SCHEMACOLLECTION_NAME | CharacterAttributePtr | Egy XML sémagyűjtemény neve. Ha a név nem található meg, akkor ez a változó üres stringet tartalmaz. Ez az információ az IRD SQL_DESC_SS_XML_SCHEMACOLLECTION_NAME rekordmezőjéből érkezik vissza, amely egy olvasás-írás mező. |
Emellett az SQL Server 2005 (9.x) új, illesztőszer-specifikus leíró mezőket vezetett be, hogy további információkat nyújtsanak egy felhasználói definiált típus (UDT) oszlophoz az eredményhalmazban, vagy egy tárolt eljárás vagy paraméterezett lekérdezés UDT paraméteréhez. Ezek a tulajdonságok nem igényelnek idézőjelet vagy menekülő karaktert, ha nem alfanumerikus karaktereket tartalmaznak. Az alábbi táblázat ezeket az új leíró mezőket sorolja fel:
| Az oszlop neve | Típus | Description |
|---|---|---|
| SQL_CA_SS_UDT_CATALOG_NAME | CharacterAttributePtr | Az UDT-t tartalmazó katalógus neve. |
| SQL_CA_SS_UDT_SCHEMA_NAME | CharacterAttributePtr | Az UDT-t tartalmazó séma neve. |
| SQL_CA_SS_UDT_TYPE_NAME | CharacterAttributePtr | Az UDT neve. |
| SQL_CA_SS_UDT_ASSEMBLY_TYPE_NAME | CharacterAttributePtr | A gyűlés a UDT nevét minősítette. |
A meglévő leíró mezőazonosító SQL_DESC_TYPE_NAME az UDT nevének megjelölésére szolgál. Az UDT típusú oszlop SQL_DESC_TYPE mezője SQL_SS_UDT.
SQLColAttribute támogatása a kibővített dátum- és időfunkciókhoz
A dátum/időpont típusokhoz visszaadott értékek megtekintése a "Információ visszaküldve az IRD mezőkben" szakaszban a Paraméter és eredmény metaadat részben.
További információért lásd: Dátum és Idő Fejlesztések (ODBC).
SQLColAttribute támogatása nagy CLR UDT-k esetén
Az SQLColAttribute támogatja a nagy CLR felhasználódefiniált típusokat (UDT). További információért lásd: Nagy CLR User-Defined típusok (ODBC).
SQLColAttribute Support for Sparse Columns
Az SQLColAttribute az új implementációs sor descriptor (IRD) mezőn, SQL_CA_SS_IS_COLUMN_SET-en kérdezi, hogy megállapítsa, egy oszlop column_set oszlop-e.
További információért lásd: Sparse Columns Support (ODBC).
Lásd még
SQLColAttribute függvény
ODBC API implementáció részletei
SQLSetStmtAttr