Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Hämtar en beskrivning av tabellkolumnerna som finns tillgängliga i den angivna katalogen.
Syntax
public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Parameterar
katalog
En sträng som innehåller katalognamnet.
schema
En sträng som innehåller schemanamnsmönstret.
table
En sträng som innehåller mönstret för tabellnamn.
Col
En sträng som innehåller kolumnnamnsmönstret.
Returvärde
Ett SQLServerResultSet-objekt .
Exceptions
Anmärkningar
Denna getColumns-metod specificeras av getColumns-metoden i gränssnittet java.sql.DatabaseMetaData.
Resultatmängden som getColumns-metoden returnerar kommer att innehålla följande information:
| Namn | Typ | Description |
|---|---|---|
| TABLE_CAT | String | Katalognamnet. |
| TABLE_SCHEM | String | Namnet på tabellschemat. |
| TABLE_NAME | String | Tabellnamnet. |
| COLUMN_NAME | String | Kolumnens namn. |
| DATATYP | smallint | SQL-datatypen från java.sql.Types. |
| TYPE_NAME | String | Namnet på datatypen. |
| COLUMN_SIZE | int | Kolumnens precision. |
| BUFFER_LENGTH | smallint | Överför datastorleken. |
| DECIMAL_DIGITS | smallint | Kolumnens skala. |
| NUM_PREC_RADIX | smallint | Pelarens radix. |
| NULLBAR | smallint | Indikerar om kolumnen är nollbar. Det kan vara något av följande värden: columnNoNulls (0) kolumnNullbar (1) |
| ANMÄRKNINGAR | String | Kommentarerna kopplade till kolumnen. Not: SQL Server returnerar alltid null för denna kolumn. |
| COLUMN_DEF | String | Standardvärdet för kolumnen. |
| SQL_DATA_TYPE | smallint | Värdet på SQL-datatypen som den visas i fältet TYPE i deskriptorn. Denna kolumn är densamma som DATA_TYPE kolumnen, förutom datatyperna datetime och SQL-92-intervallet. Denna kolumn returnerar alltid ett värde. |
| SQL_DATETIME_SUB | smallint | Subtypkod för datetime- och SQL-92-intervalldatatyper. För andra datatyper returnerar denna kolumn NULL. |
| CHAR_OCTET_LENGTH | int | Det maximala antalet bytes i kolumnen. |
| ORDINAL_POSITION | int | Indexet för kolumnen i tabellen. |
| IS_NULLABLE | String | Indikerar om kolumnen tillåter nollvärden. |
| SS_IS_SPARSE | smallint | Om kolumnen är en gles kolumn har denna värdet 1; annars 0. 1 |
| SS_IS_COLUMN_SET | smallint | Om kolumnen är den gles column_set kolumnen har denna värdet 1; annars 0. 1 |
| SS_IS_COMPUTED | smallint | Indikerar om en kolumn i en TABLE_TYPE är en beräknad kolumn. 1 |
| IS_AUTOINCREMENT | String | "JA" om kolumnen är automatiskt inkrement. "NEJ" om kolumnen inte är automatiskt inkrement. "" (tomt sträng) om drivrutinen inte kan avgöra om kolumnen automatiskt ökar. 1 |
| SS_UDT_CATALOG_NAME | String | Namnet på katalogen som innehåller den användardefinierade typen (UDT). 1 |
| SS_UDT_SCHEMA_NAME | String | Namnet på schemat som innehåller den användardefinierade typen (UDT). 1 |
| SS_UDT_ASSEMBLY_TYPE_NAME | String | Det fullt kvalificerade namnet användardefinierad typ (UDT). 1 |
| SS_XML_SCHEMACOLLECTION_CATALOG_NAME | String | Namnet på katalogen där namnet på en XML-schemasamling definieras. Om katalognamnet inte kan hittas innehåller denna variabel en tom sträng. 1 |
| SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | String | Namnet på schemat där namnet på en XML-schemasamling definieras. Om schemanamnet inte kan hittas är detta en tom sträng. 1 |
| SS_XML_SCHEMACOLLECTION_NAME | String | Namnet på en XML-schemasamling. Om namnet inte kan hittas är detta en tom sträng. 1 |
| SS_DATA_TYPE | tinyint | SQL Server-datatypen som används av utökade lagrade procedurer. Not För mer information om de datatyper som returneras av SQL Server, se "Data Types (Transact-SQL)" i SQL Server Books Online. |
(1) Denna kolumn kommer inte att finnas om du ansluter till SQL Server 2005 (9.x).
Anmärkning
För mer information om data som returneras av getColumns-metoden, se "sp_columns (Transact-SQL)" i SQL Server Books Online.
I Microsoft SQL Server JDBC Driver 3.0 kommer du att se följande beteendeförändringar från tidigare versioner av JDBC-drivrutinen:
Kolumnen DATA_TYPE har följande ändringar:
| SQL Server datatyp | Returtyp i JDBC-drivrutin 2.0 (eller, om ansluten till SQL Server 2005 (9.x)) och tillhörande numerisk konstant | Return Type i JDBC Driver 3.0 när den är ansluten till SQL Server 2008 (10.0.x) och senare versioner |
|---|---|---|
| användardefinierad typ större än 8 kB | LONGVARBINÄR (-4) | VARBINARY (-3) |
| geografi | LONGVARBINÄR (-4) | VARBINARY (-3) |
| geometri | LONGVARBINÄR (-4) | VARBINARY (-3) |
| varbinary(max) | LONGVARBINÄR (-4) | VARBINARY (-3) |
| nvarchar(max) | LONGVARCHAR (-1) eller LONGNVARCHAR (JDBC 4) (-16) | VARCHAR (12) eller NVARCHAR (JDBC 4) (-9) |
| varchar(max) | LONGVARCHAR (-1) | VARCHAR (12) |
| time | VARCHAR (12) eller NVARCHAR (JDBC 4) (-9) | TID (-154) |
| date | VARCHAR (12) eller NVARCHAR (JDBC 4) (-9) | DATUM (91) |
| datetime2 | VARCHAR (12) eller NVARCHAR (JDBC 4) (-9) | TIDSSTÄMPEL (93) |
| datetimeoffset | VARCHAR (12) eller NVARCHAR (JDBC 4) (-9) | microsoft.sql.Typer.DATETIMEOFFSET (-155) |
Kolumnen COLUMN_SIZE har följande ändringar:
| SQL Server datatyp | Återkastningstyp i JDBC Driver 2.0 | Återkastningstyp i JDBC Driver 3.0 |
|---|---|---|
| nvarchar(max) | 1073741823 | 2147483647 (databasmetadata) |
| xml | 1073741823 | 2147483647 (databasmetadata) |
| användardefinierad typ mindre än eller lika med 8 kB | 8 kB (resultatmängd och parametermetadata) | Faktisk storlek som återges av den lagrade proceduren. |
| time | Längden i tecken för strängrepresentationen av typen, med antagandet av den maximalt tillåtna precisionen för bråkdelssekunders komponent. | |
| date | samma som tiden | |
| datetime2 | samma som tiden | |
| datetimeoffset | samma som tiden |
Kolumnen BUFFER_LENGTH har följande förändring:
| SQL Server datatyp | Återkastningstyp i JDBC Driver 2.0 | Återkastningstyp i JDBC Driver 3.0 |
|---|---|---|
| användardefinierad typ större än 8 kB | 2147483647 |
Kolumnen TYPE_NAME har följande ändringar:
| SQL Server datatyp | Återkastningstyp i JDBC Driver 2.0 | Återkastningstyp i JDBC Driver 3.0 |
|---|---|---|
| varchar(max) | texten | varchar |
| varbinary(max) | image | varbinary |
Kolumnen DECIMAL_DIGITS har följande ändringar:
| SQL Server-typ | JDBC Driver 2.0 | JDBC Driver 3.0 |
|---|---|---|
| time | noll | 7 (eller mindre om specificerat) |
| date | noll | noll |
| datetime2 | noll | 7 (eller mindre om specificerat) |
| datetimeoffset | noll | 7 (eller mindre om specificerat) |
Kolumnen SQL_DATA_TYPE har följande förändringar:
| SQL Server datatyp | SQL Server 2008 Datavärde i JDBC Driver 2.0 | SQL Server 2008 Datavärde i JDBC Driver 3.0 |
|---|---|---|
| varchar(max) | -10 | -9 |
| nvarchar(max) | -1 | -9 |
| xml | -10 | -152 |
| användardefinierad typ mindre än eller lika med 8 kB | -3 | -151 |
| användardefinierad typ större än 8 kB | Ej tillgänglig i JDBC Driver 2.0 | -151 |
| geografi | -4 | -151 |
| geometri | -4 | -151 |
| hierarki | -4 | -151 |
| time | -9 | 92 |
| date | -9 | 91 |
| datetime2 | -9 | 93 |
| datetimeoffset | -9 | -155 |
Example
Följande exempel visar hur man använder getColumns-metoden för att returnera information för Person.Contact-tabellen i exempeldatabasen 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 {}
}
}
Se även
SQLServerDatabaseMetaData-metoder
SQLServerDatabaseMetaData-medlemmar
SQLServerDatabaseMetaData-klassen