Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQLColumns zwraca SQL_SUCCESS czy istnieją wartości dla parametrów CatalogName, TableName lub ColumnName . SQLFetch zwraca SQL_NO_DATA, gdy w tych parametrach użyte są nieprawidłowe wartości.
Note
Dla typów dużych wartości wszystkie parametry długości zostaną zwrócone z wartością SQL_SS_LENGTH_UNLIMITED.
SQLColumns może być wykonywany na statycznym kursorze serwera. Próba wykonania SQLColumns na kursorze (dynamicznym lub zestawu klawiszy) zwróci SQL_SUCCESS_WITH_INFO wskazując, że typ kursora został zmieniony.
Sterownik ODBC SQL Server Native Client obsługuje raportowanie informacji dla tabel na połączonych serwerach, akceptując dwuczęściową nazwę parametru CatalogName: Linked_Server_Name.Catalog_Name.
Dla ODBC 2. x aplikacji nie używających wolnych w TableName, SQLColumns zwraca informacje o tabelach, których nazwy odpowiadają TableName i należą do aktualnego użytkownika. Jeśli aktualny użytkownik nie posiada tabeli, której nazwa odpowiada parametrowi TableName , SQLColumns zwraca informacje o tabelach należących do innych użytkowników, gdzie nazwa tabeli odpowiada parametrowi TableName . Dla ODBC 2. x aplikacji używających znaków dzikich, SQLColumns zwraca wszystkie tabele, których nazwy odpowiadają TableName. Dla ODBC 3. x applications SQLColumns zwraca wszystkie tabele, których nazwy odpowiadają nazwie TableName , niezależnie od właściciela lub czy użyte są karty dzikie.
Poniższa tabela przedstawia kolumny zwracane przez zestaw wyników:
| Nazwa kolumny | Description |
|---|---|
| TYP_DANYCH | Zwraca SQL_VARCHAR, SQL_VARBINARY lub SQL_WVARCHAR dla typów danych varchar(max). |
| TYPE_NAME | Zwraca "varchar", "varbinary" lub "nvarchar" dla typów danych varchar(max),varbinary(max) i nvarchar(max ). |
| ROZMIAR_KOLUMNY | Zwraca SQL_SS_LENGTH_UNLIMITED dla typów danych varchar(max), co wskazuje, że rozmiar kolumny jest nieograniczony. |
| BUFFER_LENGTH | Zwraca SQL_SS_LENGTH_UNLIMITED dla typów danych varchar(max), wskazując, że rozmiar bufora jest nieograniczony. |
| SQL_DATA_TYPE | Zwraca SQL_VARCHAR, SQL_VARBINARY lub SQL_WVARCHAR dla typów danych varchar(max). |
| CHAR_OCTET_LENGTH | Zwraca maksymalną długość kolumny char lub binarnej. Zwraca 0, aby wskazać, że rozmiar jest nieograniczony. |
| SS_XML_SCHEMACOLLECTION_CATALOG_NAME | Zwraca nazwę katalogu, w którym zdefiniowana jest nazwa kolekcji schematu XML. Jeśli nazwy katalogu nie można znaleźć, to ta zmienna zawiera pusty ciąg danych. |
| SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | Zwraca nazwę schematu, w którym zdefiniowana jest nazwa zbioru schematu XML. Jeśli nazwy schematu nie można znaleźć, to ta zmienna zawiera pusty ciąg znaków. |
| SS_XML_SCHEMACOLLECTION_NAME | Zwraca nazwę kolekcji schematów XML. Jeśli nazwy nie można znaleźć, to ta zmienna zawiera pusty ciąg znaków. |
| SS_UDT_CATALOG_NAME | Nazwa katalogu zawierającego UDT (typ zdefiniowany przez użytkownika). |
| SS_UDT_SCHEMA_NAME | Nazwa schematu zawierającego UDT. |
| SS_UDT_ASSEMBLY_TYPE_NAME | Nazwa UDT kwalifikowana dla zgromadzenia. |
Dla UDT używa się istniejącej kolumny TYPE_NAME do wskazania nazwy UDT; dlatego nie należy dodawać dodatkowej kolumny do zbioru wyników SQLColumns lub SQLProcedureColumns. DATA_TYPE dla kolumny lub parametru UDT wynosi SQL_SS_UDT.
Dla UDT parametrów można użyć nowych specyficznych dla sterowników deskryptorów zdefiniowanych powyżej, aby uzyskać lub ustawić dodatkowe właściwości metadanych UDT, jeśli serwer zwraca lub wymaga tych informacji.
Gdy klient łączy się z SQL Server i wywołuje SQLColumns, użycie wartości NULL lub dzikich dla parametru wejściowego katalogu nie zwróci informacji z innych katalogów. Zamiast tego zwracane będą jedynie informacje o aktualnym katalogu. Klient może najpierw wywołać SQLTables, aby ustalić, w którym katalogu znajduje się pożądana tabela. Klient może następnie użyć tej wartości katalogowej parametru wejściowego katalogu w wywołaniu SQLColumns, aby pobrać informacje o kolumnach w tej tabeli.
SQLColumns i parametry Table-Valued
Zbiór wyników zwracany przez SQLColumns zależy od ustawienia SQL_SOPT_SS_NAME_SCOPE. Więcej informacji można znaleźć w SQLSetStmtAttr. Dodano następujące kolumny dla parametrów tabelowych:
| Nazwa kolumny | Typ danych | Spis treści |
|---|---|---|
| SS_IS_COMPUTED | Smallint | Dla kolumny w TABLE_TYPE jest to SQL_TRUE, jeśli kolumna jest obliczoną kolumną; W przeciwnym razie SQL_FALSE. |
| SS_IS_IDENTITY | Smallint | SQL_TRUE jeśli kolumna jest kolumną tożsamości; W przeciwnym razie SQL_FALSE. |
Więcej informacji o parametrach tabelowych można znaleźć w Table-Valued Parameters (ODBC).
Wsparcie SQLColumns dla ulepszonych funkcji dat i godzin
Aby uzyskać informacje o wartościach zwracanych dla typów dat/godzin, zobacz Metadane katalogu.
Aby uzyskać więcej informacji, zobacz ulepszenia daty i godziny (ODBC).
Obsługa SQLColumns dla dużych CLR UDT
SQLColumns obsługuje duże typy CLR zdefiniowane przez użytkownika (UDT). Aby uzyskać więcej informacji, zobacz large CLR User-Defined Types (ODBC).
SQLColumns obsługa rzadkich kolumn
Do zestawu wyników SQLColumns dodano dwie kolumny specyficzne dla SQL Server:
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| SS_IS_SPARSE | Smallint | Jeśli kolumna jest rzadką, to jest to SQL_TRUE; W przeciwnym razie SQL_FALSE. |
| SS_IS_COLUMN_SET | Smallint | Jeśli kolumna jest kolumną column_set , to jest to SQL_TRUE; W przeciwnym razie SQL_FALSE. |
Zgodnie ze specyfikacją ODBC, SS_IS_SPARSE i SS_IS_COLUMN_SET pojawiają się przed wszystkimi kolumnami specyficznymi dla sterowników, które zostały dodane do SQL Server wersji przed SQL Server 2008 (10.0.x), oraz po wszystkich kolumnach wymaganych przez ODBC.
Zbiór wyników zwracany przez SQLColumns zależy od ustawienia SQL_SOPT_SS_NAME_SCOPE. Więcej informacji można znaleźć w SQLSetStmtAttr.
Więcej informacji o kolumnach rzadkich w ODBC można znaleźć w artykule Sparse Columns Support (ODBC).