getColumns-Methode (SQLServerDatabaseMetaData)
Ruft eine Beschreibung der Tabellenspalten ab, die im angegebenen Katalog verfügbar sind.
Syntax
public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Parameter
catalog
Ein String mit dem Katalognamen.
schema
Ein String mit dem Schemanamenmuster.
table
Ein String mit dem Tabellennamenmuster.
col
Ein String mit dem Spaltennamenmuster.
Rückgabewert
Ein SQLServerResultSet-Objekt.
Ausnahmen
Hinweise
Diese getColumns-Methode wird von der getColumns-Methode in der java.sql.DatabaseMetaData-Schnittstelle angegeben.
Das von der getColumns-Methode zurückgegebene Resultset enthält folgende Informationen:
Name | Typ | Beschreibung |
---|---|---|
TABLE_CAT |
String |
Der Name des Katalogs. |
TABLE_SCHEM |
String |
Der Tabellenschemaname. |
TABLE_NAME |
String |
Der Tabellenname. |
COLUMN_NAME |
String |
Der Spaltenname. |
DATA_TYPE |
smallint |
Der SQL-Datentyp aus "java.sql.Types". |
TYPE_NAME |
String |
Der Name des Datentyps. |
COLUMN_SIZE |
int |
Die Genauigkeit der Spalte. |
BUFFER_LENGTH |
smallint |
Die Übertragungsgröße der Daten. |
DECIMAL_DIGITS |
smallint |
Die Dezimalstellen der Spalte. |
NUM_PREC_RADIX |
smallint |
Die Basis der Spalte. |
NULLABLE |
smallint |
Gibt an, ob in der Spalte NULL-Werte zulässig sind. Mögliche Werte: columnNoNulls (0) columnNullable (1) |
REMARKS |
String |
Die der Spalte zugeordneten Kommentare. Hinweis Für diese Spalte wird von SQL Server immer NULL zurückgegeben. |
COLUMN_DEF |
String |
Der Standardwert der Spalte. |
SQL_DATA_TYPE |
smallint |
Der Wert des SQL-Datentyps, wie er im TYPE-Feld des Deskriptors angezeigt wird. Diese Spalte entspricht der DATA_TYPE-Spalte mit Ausnahme des datetime-Datentyps und des SQL-92-Datentyps interval. Diese Spalte gibt immer einen Wert zurück. |
SQL_DATETIME_SUB |
smallint |
Untertypcode für den datetime-Datentyp und den SQL-92-Datentyp interval. Bei allen anderen Datentypen gibt diese Spalte NULL zurück. |
CHAR_OCTET_LENGTH |
int |
Die maximale Anzahl von Bytes in der Spalte. |
ORDINAL_POSITION |
int |
Der Index der Spalte innerhalb der Tabelle. |
IS_NULLABLE |
String |
Gibt an, ob in der Spalte NULL-Werte zulässig sind. |
SS_IS_SPARSE |
smallint |
Wenn die Spalte eine Spalte mit geringer Dichte ist, weist sie den Wert VARIANT_TRUE auf, andernfalls den Wert VARIANT_FALSE. |
SS_IS_COLUMN_SET |
smallint |
Wenn die Spalte die Spalte "column_set" mit geringer Dichte ist, weist sie den Wert VARIANT_TRUE, andernfalls den Wert VARIANT_FALSE auf. |
SS_IS_COMPUTED |
smallint |
Zeigt an, ob eine TABLE_TYPE-Spalte eine berechnete Spalte ist. |
IS_AUTOINCREMENT |
String |
"YES", wenn die Spalte automatisch inkrementiert wird. "NO", wenn die Spalte nicht automatisch inkrementiert wird. "" (leere Zeichenfolge), wenn vom Treiber nicht ermittelt werden kann, ob die Spalte automatisch inkrementiert wird. |
SS_UDT_CATALOG_NAME |
String |
Der Name des Katalogs, der den benutzerdefinierten Typ (UDT) enthält. |
SS_UDT_SCHEMA_NAME |
String |
Der Name des Schemas, der den benutzerdefinierten Typ (UDT) enthält. |
SS_UDT_ASSEMBLY_TYPE_NAME |
String |
Der benutzerdefinierte Typ (UDT) für den vollqualifizierten Namen. |
SS_XML_SCHEMACOLLECTION_CATALOG_NAME |
String |
Der Name des Katalogs, in dem eine XML-Schemaauflistung definiert ist. Wenn der Katalogname nicht gefunden werden kann, enthält diese Variable eine leere Zeichenfolge. |
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME |
String |
Der Name des Schemas, in dem eine XML-Schemaauflistung definiert ist. Wenn der Schemaname nicht gefunden werden kann, handelt es sich dabei um eine leere Zeichenfolge. |
SS_XML_SCHEMACOLLECTION_NAME |
String |
Name der XML-Schemaauflistung. Wenn der Schemaname nicht gefunden werden kann, handelt es sich dabei um eine leere Zeichenfolge. |
SS_DATA_TYPE |
tinyint |
Der SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird. Hinweis Weitere Informationen zu den Datentypen, die von SQL Server zurückgegeben werden, finden Sie in der SQL Server-Onlinedokumentation unter "Datentypen (Transact-SQL)". |
Hinweis
Weitere Informationen zu den Daten, die von der getColumns-Methode zurückgegeben werden, finden Sie in der SQL Server-Onlinedokumentation unter "sp_columns (Transact-SQL)".
Microsoft SQL Server JDBC Driver 3.0 weist im Vergleich zu früheren Versionen von JDBC Driver folgende Verhaltensänderungen auf:
Die DATA_TYPE-Spalte wurde folgendermaßen geändert:
SQL Server-Datentyp | Rückgabetyp in JDBC Driver 2.0 und zugeordnete numerische Konstante | Rückgabetyp in JDBC Driver 3.0 |
---|---|---|
benutzerdefinierter, 8 KB überschreitender Typ |
LONGVARBINARY (-4) |
VARBINARY (-3) |
geography |
LONGVARBINARY (-4) |
VARBINARY (-3) |
geometry |
LONGVARBINARY (-4) |
VARBINARY (-3) |
varbinary(max) |
LONGVARBINARY (-4) |
VARBINARY (-3) |
nvarchar(max) |
LONGVARCHAR (-1) oder LONGNVARCHAR (JDBC 4) (-16) |
VARCHAR (12) oder NVARCHAR (JDBC 4) (-9) |
varchar(max) |
LONGVARCHAR (-1) |
VARCHAR (12) |
time |
VARCHAR (12) oder NVARCHAR (JDBC 4) (-9) |
TIME (-154) |
date |
VARCHAR (12) oder NVARCHAR (JDBC 4) (-9) |
DATE (91) |
datetime2 |
VARCHAR (12) oder NVARCHAR (JDBC 4) (-9) |
TIMESTAMP (93) |
datetimeoffset |
VARCHAR (12) oder NVARCHAR (JDBC 4) (-9) |
microsoft.sql.Types.DATETIMEOFFSET (-155) |
Die COLUMN_SIZE-Spalte wurde folgendermaßen geändert:
SQL Server-Datentyp | Rückgabetyp in JDBC Driver 2.0 | Rückgabetyp in JDBC Driver 3.0 |
---|---|---|
nvarchar(max) |
1073741823 |
2147483647 (Datenbankmetadaten) |
xml |
1073741823 |
2147483647 (Datenbankmetadaten) |
benutzerdefinierter Typ mit weniger oder genau 8 KB |
8 KB (Resultset- und Parametermetadaten) |
Die tatsächliche von der gespeicherten Prozedur zurückgegebene Größe |
time |
Die Länge (in Zeichen) der Zeichenfolgendarstellung des Typs, wobei die maximal zulässige Genauigkeit der Komponente für Sekundenbruchteile vorausgesetzt wird. |
|
date |
entspricht "time" |
|
datetime2 |
entspricht "time" |
|
datetimeoffset |
entspricht "time" |
Die BUFFER_LENGTH-Spalte wurde folgendermaßen geändert:
SQL Server-Datentyp | Rückgabetyp in JDBC Driver 2.0 | Rückgabetyp in JDBC Driver 3.0 |
---|---|---|
benutzerdefinierter, 8 KB überschreitender Typ |
2147483647 |
Die TYPE_NAME-Spalte wurde folgendermaßen geändert:
SQL Server-Datentyp | Rückgabetyp in JDBC Driver 2.0 | Rückgabetyp in JDBC Driver 3.0 |
---|---|---|
varchar(max) |
text |
varchar |
varbinary(max) |
image |
varbinary |
Die DECIMAL_DIGITS-Spalte wurde folgendermaßen geändert:
SQL Server-Typ | JDBC Driver 2.0 | JDBC Driver 3.0 |
---|---|---|
time |
NULL |
7 (oder – falls angegeben – kleiner) |
date |
NULL |
NULL |
datetime2 |
NULL |
7 (oder – falls angegeben – kleiner) |
datetimeoffset |
NULL |
7 (oder – falls angegeben – kleiner) |
Die SQL_DATA_TYPE-Spalte wurde folgendermaßen geändert:
SQL Server-Datentyp | SQL Server 2008-Datenwert in JDBC Driver 2.0 | SQL Server 2008-Datenwert in JDBC Driver 3.0 |
---|---|---|
varchar(max) |
-10 |
-9 |
nvarchar(max) |
-1 |
-9 |
xml |
-10 |
-152 |
benutzerdefinierter Typ mit weniger oder genau 8 KB |
-3 |
-151 |
benutzerdefinierter, 8 KB überschreitender Typ |
Nicht verfügbar in JDBC Driver 2.0 |
-151 |
geography |
-4 |
-151 |
geometry |
-4 |
-151 |
hierarchyid |
-4 |
-151 |
time |
-9 |
92 |
date |
-9 |
91 |
datetime2 |
-9 |
93 |
datetimeoffset |
-9 |
-155 |
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie mithilfe der getColumns-Methode Informationen für die Spalte "FirstName" der Tabelle "Person.Contact" aus der SQL Server 2005 AdventureWorks-Beispieldatenbank zurückgegeben werden können.
public static void executeGetColumns(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getColumns("AdventureWorks", "Person", "Contact", "FirstName");
ResultSetMetaData rsmd = rs.getMetaData();
// Display the result set data.
int cols = rsmd.getColumnCount();
while(rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(rs.getString(i));
}
}
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Siehe auch
Verweis
SQLServerDatabaseMetaData-Klasse
Konzepte
SQLServerDatabaseMetaData-Methoden
SQLServerDatabaseMetaData-Elemente