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.
Získá popis sloupců tabulky, které jsou dostupné ve specifikovaném katalogu.
Syntaxe
public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Parametry
katalog
Řetězec obsahující název katalogu.
schema
Řetězec obsahující vzor názvů schématu.
table
Řetězec obsahující vzor názvu tabulky.
průsmyk
Řetězec obsahující vzor názvů sloupců.
Návratová hodnota
A objekt SQLServerResultSet .
Exceptions
Poznámky
Tato metoda getColumns je specifikována metodou getColumns v rozhraní java.sql.DatabaseMetaData.
Výsledná sada vrácená metodou getColumns bude obsahovat následující informace:
| Název | Typ | Description |
|---|---|---|
| TABLE_CAT | Řetězec | Název katalogu. |
| TABLE_SCHEM | Řetězec | Název schématu tabulky. |
| TABLE_NAME | Řetězec | Název tabulky. |
| COLUMN_NAME | Řetězec | Název sloupku. |
| DATA_TYPE | smallint | SQL datový typ z java.sql.Types. |
| TYPE_NAME | Řetězec | Název datového typu. |
| COLUMN_SIZE | int | Přesnost sloupce. |
| BUFFER_LENGTH | smallint | Velikost přenosu dat. |
| DECIMAL_DIGITS | smallint | Měřítko sloupu. |
| NUM_PREC_RADIX | smallint | Radix sloupce. |
| NULLABLE | smallint | Označuje, zda je sloupec neplatný. Může to být jedna z následujících hodnot: columnNoNulls (0) columnNullable (1) |
| POZNÁMKY | Řetězec | Komentáře spojené s tímto sloupkem. Poznámka: SQL Server vždy vrací null pro tento sloupec. |
| COLUMN_DEF | Řetězec | Výchozí hodnota sloupce. |
| SQL_DATA_TYPE | smallint | Hodnota SQL datového typu, jak se objevuje v poli TYPE v deskriptoru. Tento sloupec je stejný jako sloupec DATA_TYPE, kromě datových typů intervalů pro datetime a SQL-92. Tento sloupec vždy vrací hodnotu. |
| SQL_DATETIME_SUB | smallint | Podtyp kód pro datové typy datového času a intervalů v SQL-92. Pro jiné datové typy tento sloupec vrací NULL. |
| CHAR_OCTET_LENGTH | int | Maximální počet bajtů ve sloupci. |
| ORDINAL_POSITION | int | Index sloupce v tabulce. |
| IS_NULLABLE | Řetězec | Označuje, zda sloupec povoluje nulové hodnoty. |
| SS_IS_SPARSE | smallint | Pokud je sloupec řídký, má hodnotu 1; jinak 0. 1 |
| SS_IS_COLUMN_SET | smallint | Pokud je sloupec řídkým column_set sloupcem, má hodnotu 1; jinak 0. 1 |
| SS_IS_COMPUTED | smallint | Označuje, zda je sloupec v TABLE_TYPE vypočteným sloupcem. 1 |
| IS_AUTOINCREMENT | Řetězec | "ANO", pokud je sloupec automaticky inkrementován. "NE", pokud sloupec není automaticky inkrementován. "" (prázdný řetězec), pokud ovladač nemůže určit, zda je sloupec automaticky inkrementován. 1 |
| SS_UDT_CATALOG_NAME | Řetězec | Název katalogu, který obsahuje uživatelem definovaný typ (UDT). 1 |
| SS_UDT_SCHEMA_NAME | Řetězec | Název schématu obsahujícího uživatelsky definovaný typ (UDT). 1 |
| SS_UDT_ASSEMBLY_TYPE_NAME | Řetězec | Plně kvalifikovaný uživatelsky definovaný typ (UDT). 1 |
| SS_XML_SCHEMACOLLECTION_CATALOG_NAME | Řetězec | Název katalogu, kde je definován název kolekce XML schématu. Pokud nelze název katalogu najít, tato proměnná obsahuje prázdný řetězec. 1 |
| SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | Řetězec | Název schématu, kde je definován název kolekce XML schématu. Pokud nelze najít název schématu, jedná se o prázdný řetězec. 1 |
| SS_XML_SCHEMACOLLECTION_NAME | Řetězec | Název kolekce XML schémat. Pokud jméno nelze najít, jedná se o prázdný řetězec. 1 |
| SS_DATA_TYPE | tinyint | Datový typ SQL Server, který používají rozšířené uložené procedury. Poznámka Pro více informací o datových typech vracených SQL Serverem viz "Data Types (Transact-SQL)" v SQL Server Books Online. |
(1) Tento sloupec nebude k dispozici, pokud se připojujete k SQL Server 2005 (9.x).
Poznámka:
Pro více informací o datech vrácených metodou getColumns viz "sp_columns (Transact-SQL)" v SQL Server Books Online.
V Microsoft SQL Server JDBC Driver 3.0 uvidíte následující změny chování oproti dřívějším verzím JDBC ovladače:
Sloupec DATA_TYPE obsahuje následující změny:
| Datový typ SQL Serveru | Return Type v JDBC Driver 2.0 (nebo, pokud je připojen k SQL Server 2005 (9.x)) a přidružená numerická konstanta | Return Type v JDBC Driver 3.0 při připojení k SQL Server 2008 (10.0.x) a novějším verzím |
|---|---|---|
| uživatelem definovaný typ větší než 8 kB | DLOUHOVARBINÁRNÍ (-4) | VARBINÁRNÍ (-3) |
| geography | DLOUHOVARBINÁRNÍ (-4) | VARBINÁRNÍ (-3) |
| geometrie | DLOUHOVARBINÁRNÍ (-4) | VARBINÁRNÍ (-3) |
| varbinary(max) | DLOUHOVARBINÁRNÍ (-4) | VARBINÁRNÍ (-3) |
| nvarchar(max) | LONGVARCHAR (-1) nebo LONGNVARCHAR (JDBC 4) (-16) | VARCHAR (12) nebo NVARCHAR (JDBC 4) (-9) |
| varchar(max) | LONGVARCHAR (-1) | VARCHAR (12) |
| time | VARCHAR (12) nebo NVARCHAR (JDBC 4) (-9) | ČAS (-154) |
| date | VARCHAR (12) nebo NVARCHAR (JDBC 4) (-9) | DATUM (91) |
| datetime2 | VARCHAR (12) nebo NVARCHAR (JDBC 4) (-9) | ČASOVÉ RAZÍTKO (93) |
| datetimeoffset | VARCHAR (12) nebo NVARCHAR (JDBC 4) (-9) | microsoft.sql.Types.DATETIMEOFFSET (-155) |
Sloupec COLUMN_SIZE má následující změny:
| Datový typ SQL Serveru | Typ návratu v JDBC Driver 2.0 | Return Type v JDBC Driver 3.0 |
|---|---|---|
| nvarchar(max) | 1073741823 | 2147483647 (metadata databáze) |
| xml | 1073741823 | 2147483647 (metadata databáze) |
| uživatelem definovaný typ menší nebo roven 8 kB | 8 kB (metadata výsledků a parametrů) | Skutečná velikost vrácená uloženou procedurou. |
| time | Délka v znacích řetězcové reprezentace typu, za předpokladu maximální povolené přesnosti složky zlomkových sekund. | |
| date | Stejně jako čas | |
| datetime2 | Stejně jako čas | |
| datetimeoffset | Stejně jako čas |
Sloupec BUFFER_LENGTH má následující změnu:
| Datový typ SQL Serveru | Typ návratu v JDBC Driver 2.0 | Return Type v JDBC Driver 3.0 |
|---|---|---|
| uživatelem definovaný typ větší než 8 kB | 2147483647 |
Sloupec TYPE_NAME má následující změny:
| Datový typ SQL Serveru | Typ návratu v JDBC Driver 2.0 | Return Type v JDBC Driver 3.0 |
|---|---|---|
| varchar(max) | poslat SMS | Varchar |
| varbinary(max) | bitová kopie | varbinary |
Sloupec DECIMAL_DIGITS má následující změny:
| Typ SQL Serveru | JDBC Driver 2.0 | JDBC Driver 3.0 |
|---|---|---|
| time | null | 7 (nebo méně, pokud je uvedeno) |
| date | null | null |
| datetime2 | null | 7 (nebo méně, pokud je uvedeno) |
| datetimeoffset | null | 7 (nebo méně, pokud je uvedeno) |
Sloupec SQL_DATA_TYPE obsahuje následující změny:
| Datový typ SQL Serveru | SQL Server 2008 Data Value in JDBC Driver 2.0 | SQL Server 2008 Data Value in JDBC Driver 3.0 |
|---|---|---|
| varchar(max) | -10 | -9 |
| nvarchar(max) | -1 | -9 |
| xml | -10 | -152 |
| uživatelem definovaný typ menší nebo roven 8 kB | -3 | -151 |
| uživatelem definovaný typ větší než 8 kB | Není dostupné v JDBC Driver 2.0 | -151 |
| geography | -4 | -151 |
| geometrie | -4 | -151 |
| hierarchyid | -4 | -151 |
| time | -9 | 92 |
| date | -9 | 91 |
| datetime2 | -9 | 93 |
| datetimeoffset | -9 | -155 |
Example
Následující příklad ukazuje, jak použít metodu getColumns k vrácení informací pro tabulku Person.Contact v ukázkové databázi AdventureWorks2025.
import java.sql.*;
public class c1 {
public static void main(String[] args) {
String connectionUrl = "jdbc:sqlserver://localhost:1433;encrypt=true;databaseName=AdventureWorks;integratedsecurity=true";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
DatabaseMetaData dbmd = con.getMetaData();
rs = dbmd.getColumns("AdventureWorks", "Person", "Contact", "FirstName");
ResultSet r = dbmd.getColumns(null, null, "Contact", null);
ResultSetMetaData rm = r.getMetaData();
int noofcols = rm.getColumnCount();
if (r.next())
for (int i = 0 ; i < noofcols ; i++ )
System.out.println(rm.getColumnName( i + 1 ) + ": \t\t" + r.getString( i + 1 ));
}
catch (Exception e) {}
finally {}
}
}
Viz také
SQLServerDatabaseMetaData Methods
SQLServerDatabaseMetaData Members
SQLServerDatabaseMetaData Class