Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
JDBC-illesztőprogram letöltése
Lekéri a megadott katalógusban elérhető táblázatoszlopok leírását.
Szemantika
public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Paraméterek
katalógus
Egy String , amely tartalmazza a katalógus nevét.
schema
Egy string , amely tartalmazza a séma névmintáját.
table
Egy String , amely tartalmazza a táblanév mintát.
Col
Egy String , amely tartalmazza az oszlopnév mintát.
Visszaadott érték
Egy SQLServerResultSet objektum.
Exceptions
Megjegyzések
Ezt a getColumns metódusot a getColumns metódus határozza meg a java.sql.DatabaseMetaData interfészen.
A getColumns metódus által visszaadott eredményhalmazban a következő információkat tartalmazza:
| Név | Típus | Description |
|---|---|---|
| TABLE_CAT | String | A katalógus neve. |
| TABLE_SCHEM | String | A táblázat séma neve. |
| TABLE_NAME | String | A tábla neve. |
| COLUMN_NAME | String | Az oszlop neve. |
| Adattípus | smallint | Az SQL adattípus a java.sql.Types-ből. |
| TYPE_NAME | String | Az adattípus neve. |
| COLUMN_SIZE | int | Az oszlop pontossága. |
| BUFFER_LENGTH | smallint | Az adatok átviteli méretét. |
| DECIMAL_DIGITS | smallint | Az oszlop mérete. |
| NUM_PREC_RADIX | smallint | Az oszlop radixja. |
| NULLÁZHATÓ | smallint | Jelzi, hogy az oszlop nullálható-e. A következő értékek egyike lehet: columnNoNulls (0) columnNullable (1) |
| MEGJEGYZÉSEK | String | A rovathoz kapcsolódó hozzászólások. Jegyzet: Az SQL Server mindig null értéket ad vissza ehhez az oszlophoz. |
| COLUMN_DEF | String | Az oszlop alapértelmezett értéke. |
| SQL_DATA_TYPE | smallint | Az SQL adattípus értéke, ahogyan az megjelenik a leíró TÍPUS mezőjében. Ez az oszlop megegyezik a DATA_TYPE oszloppal, kivéve a datetime és SQL-92 intervallum adattípusokat. Ez az oszlop mindig értéket ad vissza. |
| SQL_DATETIME_SUB | smallint | Altípuskód datetime és SQL-92 intervallum adattípusokhoz. Más adattípusok esetén ez az oszlop NULL-t ad vissza. |
| CHAR_OCTET_LENGTH | int | Az oszlop maximális bájtszáma. |
| ORDINAL_POSITION | int | Az oszlop indexe a táblázatban. |
| IS_NULLABLE | String | Jelzi, hogy az oszlop engedélyezi-e null értékeket. |
| SS_IS_SPARSE | smallint | Ha az oszlop ritka oszlop, akkor ennek értéke 1; egyébként 0. 1 |
| SS_IS_COLUMN_SET | smallint | Ha az oszlop a ritka column_set oszlop, akkor ez az 1 értékű; egyébként 0. 1 |
| SS_IS_COMPUTED | smallint | Jelzi, hogy egy TABLE_TYPE oszlopa kiszámított oszlop. 1 |
| IS_AUTOINCREMENT | String | "IGEN", ha az oszlop automatikusan növelik. "NEM", ha az oszlop nem automatikus növelés. "" (üres sor), ha az illesztővezető nem tudja megállapítani, hogy az oszlop automatikusan növelik-e. 1 |
| SS_UDT_CATALOG_NAME | String | A katalógus neve, amely tartalmazza a felhasználó által definiált típust (UDT). 1 |
| SS_UDT_SCHEMA_NAME | String | A séma neve, amely tartalmazza a felhasználó által definiált típust (UDT). 1 |
| SS_UDT_ASSEMBLY_TYPE_NAME | String | A teljesen minősített név felhasználó által definiált típus (UDT). 1 |
| SS_XML_SCHEMACOLLECTION_CATALOG_NAME | String | 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, ez a változó üres stringet tartalmaz. 1 |
| SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | String | Az XML séma gyűjtemény neve a séma neve. Ha a séma neve nem található meg, akkor ez egy üres láncsor. 1 |
| SS_XML_SCHEMACOLLECTION_NAME | String | Egy XML sémagyűjtemény neve. Ha a név nem található meg, ez egy üres láncsor. 1 |
| SS_DATA_TYPE | tinyint | Az SQL Server adattípusa, amelyet kiterjesztett tárolt eljárások használnak. Jegyzet További információért az SQL Server által visszaadott adattípusokról lásd: "Data types (Transact-SQL)" az SQL Server Books Online oldalán. |
(1) Ez az oszlop nem lesz jelen, ha SQL Server 2005 (9.x)-hez csatlakozik.
Megjegyzés:
További információért a getColumns metódus által visszaadott adatokról lásd az SQL Server Books Online "sp_columns (Transact-SQL)" című szakaszt.
A Microsoft SQL Server JDBC Driver 3.0-ban a következő viselkedésváltozásokat láthatod a korábbi JDBC illesztőgép-verziókhoz képest:
A DATA_TYPE oszlopban a következő változások szerepelnek:
| SQL Server adattípus | Return Type a JDBC Driver 2.0-ban (vagy ha csatlakozott SQL Server 2005 (9.x)-hez) és a kapcsolódó numerikus állandó | Return Type a JDBC Driver 3.0-ban, amikor SQL Server 2008 (10.0.x) és újabb verziókhoz csatlakozik |
|---|---|---|
| Felhasználó által definiált típus, amely nagyobb a 8 kB-nál | LONGVARBINÁRIS (-4) | VARBINÁRIS (-3) |
| geography | LONGVARBINÁRIS (-4) | VARBINÁRIS (-3) |
| geometry | LONGVARBINÁRIS (-4) | VARBINÁRIS (-3) |
| varbinary(max) | LONGVARBINÁRIS (-4) | VARBINÁRIS (-3) |
| nvarchar(max) | LONGVARCHAR (-1) vagy LONGNVARCHAR (JDBC 4) (-16) | VARCHAR (12) vagy NVARCHAR (JDBC 4) (-9) |
| varchar(max) | LONGVARCHAR (-1) | VARCHAR (12) |
| time | VARCHAR (12) vagy NVARCHAR (JDBC 4) (-9) | IDŐ (-154) |
| date | VARCHAR (12) vagy NVARCHAR (JDBC 4) (-9) | DÁTUM (91) |
| datetime2 | VARCHAR (12) vagy NVARCHAR (JDBC 4) (-9) | IDŐBÉLYEG (93) |
| dátum-idő eltolás | VARCHAR (12) vagy NVARCHAR (JDBC 4) (-9) | microsoft.sql.Types.DATETIMEOFFSET (-155) |
A COLUMN_SIZE oszlop a következő változásokat tartalmazza:
| SQL Server adattípus | Return Type a JDBC Driver 2.0-ban | Return Type a JDBC Driver 3.0-ban |
|---|---|---|
| nvarchar(max) | 1073741823 | 2147483647 (adatbázis metaadat) |
| xml | 1073741823 | 2147483647 (adatbázis metaadat) |
| Felhasználó által definiált típus, amely kisebb, mint 8 kB-t vagy annak egyenlő | 8 kB (eredményhalmaz és paraméter metaadat) | A tárolt eljárás által visszaadott valódi méret. |
| time | A típus string reprezentációjának karakterben terjedő hossza, feltételezve a törtmásodpercek komponens maximális engedélyezett pontosságát. | |
| date | ugyanaz, mint az idő | |
| datetime2 | ugyanaz, mint az idő | |
| dátum-idő eltolás | ugyanaz, mint az idő |
A BUFFER_LENGTH oszlop a következő változást tartalmazza:
| SQL Server adattípus | Return Type a JDBC Driver 2.0-ban | Return Type a JDBC Driver 3.0-ban |
|---|---|---|
| Felhasználó által definiált típus, amely nagyobb a 8 kB-nál | 2147483647 |
A TYPE_NAME oszlop a következő változásokat tartalmazza:
| SQL Server adattípus | Return Type a JDBC Driver 2.0-ban | Return Type a JDBC Driver 3.0-ban |
|---|---|---|
| varchar(max) | SMS | varchar |
| varbinary(max) | kép | varbinary |
A DECIMAL_DIGITS oszlop a következő változásokat tartalmazza:
| SQL Server típus | JDBC Driver 2.0 | JDBC Driver 3.0 |
|---|---|---|
| time | null | 7 (vagy kisebb, ha van megadva) |
| date | null | null |
| datetime2 | null | 7 (vagy kisebb, ha van megadva) |
| dátum-idő eltolás | null | 7 (vagy kisebb, ha van megadva) |
A SQL_DATA_TYPE oszlopban a következő változások szerepelnek:
| SQL Server adattípus | SQL Server 2008 adatérték a JDBC Driver 2.0-ban | SQL Server 2008 adatérték a JDBC Driver 3.0-ban |
|---|---|---|
| varchar(max) | -10 | -9 |
| nvarchar(max) | -1 | -9 |
| xml | -10 | -152 |
| Felhasználó által definiált típus, amely kisebb, mint 8 kB-t vagy annak egyenlő | -3 | -151 |
| Felhasználó által definiált típus, amely nagyobb a 8 kB-nál | Nem elérhető a JDBC Driver 2.0-ban | -151 |
| geography | -4 | -151 |
| geometry | -4 | -151 |
| Hierarchyid | -4 | -151 |
| time | -9 | 92 |
| date | -9 | 91 |
| datetime2 | -9 | 93 |
| dátum-idő eltolás | -9 | -155 |
Example
Az alábbi példa bemutatja, hogyan lehet a getColumns módszerrel visszaküldeni az információkat a Person.Contact táblához az AdventureWorks2025 mintaadatbázisban.
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 {}
}
}
Lásd még:
SQLServerDatabaseMetaData Methods
SQLServerDatabaseMetaData Members
SQLServerDatabaseMetaData Class