Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
JDBC sürücüsünü indirin
Belirtilen katalogda mevcut olan tablo sütunlarının açıklamasını alır.
Sözdizimi
public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Parametreler
katalog
Katalog adını içeren bir Dizgi .
schema
Şema adı desenini içeren bir Dizgi .
table
Tablo adı desenini içeren bir Dizgi .
Col
Sütun adı desenini içeren bir Dizgi .
Dönüş Değeri
Bir SQLServerResultSet nesnesi.
Exceptions
Açıklamalar
Bu getColumns yöntemi, java.sql.DatabaseMetaData arayüzündeki getColumns yöntemiyle belirtilir.
getColumns yöntemiyle döndürülen sonuç kümesi aşağıdaki bilgileri içerir:
| İsim | Türü | Description |
|---|---|---|
| TABLE_CAT | String | Katalog adı. |
| TABLE_SCHEM | String | Tablo şeması adı. |
| TABLE_NAME | String | Tablo adı. |
| COLUMN_NAME | String | Sütun adı. |
| VERİ_TİPİ | smallint | java.sql.Types'ten SQL veri türü. |
| TYPE_NAME | String | Veri türünün adı. |
| COLUMN_SIZE | int | Sütunun duyarlığı. |
| BUFFER_LENGTH | smallint | Veri aktarım boyutu. |
| DECIMAL_DIGITS | smallint | Sütunun ölçeği. |
| NUM_PREC_RADIX | smallint | Sütunun radiksi. |
| NULLABLE | smallint | Sütunun nullable olup olmadığını gösterir. Aşağıdaki değerlerden biri olabilir: columnNoNulls (0) columnNullable (1) |
| AÇIKLAMALAR | String | Köşeyle ilgili yorumlar. Not: SQL Server her zaman bu sütun için null döndürür. |
| COLUMN_DEF | String | Sütunun varsayılan değeri. |
| SQL_DATA_TYPE | smallint | SQL veri türünün değeri, tanımlayıcının TYPE alanında göründüğü şeklinde. Bu sütun, tarih saati ve SQL-92 aralığı veri türleri dışında DATA_TYPE sütunuyla aynıdır. Bu sütun her zaman bir değer döndürür. |
| SQL_DATETIME_SUB | smallint | Datetime ve SQL-92 aralıklı veri tipleri için alt tip kodu. Diğer veri türleri için ise bu sütun NULL döner. |
| CHAR_OCTET_LENGTH | int | Sütundaki maksimum bayt sayısı. |
| ORDINAL_POSITION | int | Tablodaki sütunun indeksi. |
| IS_NULLABLE | String | Sütunun null değerlere izin verip vermediğini gösterir. |
| SS_IS_SPARSE | smallint | Eğer sütun seyrek bir sütunsa, bu değer 1'dir; aksi takdirde, 0. 1 |
| SS_IS_COLUMN_SET | smallint | Eğer sütun seyrek column_set sütunsa, bu değer 1'dir; aksi takdirde, 0. 1 |
| SS_IS_COMPUTED | smallint | Bir TABLE_TYPE'taki bir sütunun hesaplanan bir sütun olup olmadığını gösterir. 1 |
| IS_AUTOINCREMENT | String | Sütun otomatik olarak artırılırsa "EVET" demektir. Sütun otomatik olarak artırılmamışsa "HAYIR". "" (boş dize) sürücü sütunun otomatik artıp artırılmadığını belirleyemezse. 1 |
| SS_UDT_CATALOG_NAME | String | Kullanıcı tanımlı tipi (UDT) içeren kataloğun adı. 1 |
| SS_UDT_SCHEMA_NAME | String | Kullanıcı tanımlı tipi (UDT) içeren şemanın adı. 1 |
| SS_UDT_ASSEMBLY_TYPE_NAME | String | Tam nitelikli isim kullanıcı tanımlı tip (UDT). 1 |
| SS_XML_SCHEMACOLLECTION_CATALOG_NAME | String | XML şema koleksiyonu adının tanımlandığı kataloğun adı. Katalog adı bulunamazsa, bu değişken boş bir dizi içerir. 1 |
| SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | String | XML şema koleksiyonu adının tanımlandığı şemanın adı. Şema adı bulunamazsa, bu boş bir dizedir. 1 |
| SS_XML_SCHEMACOLLECTION_NAME | String | Bir XML şema koleksiyonunun adı. İsim bulunamazsa, bu boş bir dizedir. 1 |
| SS_DATA_TYPE | tinyint | Genişletilmiş depolanmış prosedürler tarafından kullanılan SQL Server veri tipi. Not SQL Server tarafından döndürülen veri türleri hakkında daha fazla bilgi için SQL Server Books Online'daki "Veri Tipleri (Transact-SQL)" bölümüne bakınız. |
(1) SQL Server 2005 (9.x)'e bağlanıyorsanız bu sütun bulunmaz.
Uyarı
getColumns yöntemiyle sağlanan veriler hakkında daha fazla bilgi için SQL Server Books Online içindeki "sp_columns (Transact-SQL)" bölümüne bakınız.
Microsoft SQL Server JDBC Driver 3.0'da, JDBC Sürücüsünün önceki sürümlerinden aşağıdaki davranış değişikliklerini göreceksiniz:
DATA_TYPE sütunda aşağıdaki değişiklikler vardır:
| SQL Server Veri Türü | JDBC Sürücüsü 2.0'da (veya SQL Server 2005 (9.x)'a bağlıysa) ve Ilişkili Sayısal Sabit'te Dönüş Tipi | SQL Server 2008 (10.0.x) ve sonraki sürümlere bağlandığında JDBC Driver 3.0'da Return Type |
|---|---|---|
| 8 kB'den büyük kullanıcı tanımlı tip | LONGVARBINARY (-4) | VARBINARY (-3) |
| coğrafi bölge | LONGVARBINARY (-4) | VARBINARY (-3) |
| geometri | LONGVARBINARY (-4) | VARBINARY (-3) |
| varbinary(max) | LONGVARBINARY (-4) | VARBINARY (-3) |
| nvarchar(max) | LONGVARCHAR (-1) veya LONGNVARCHAR (JDBC 4) (-16) | VARCHAR (12) veya NVARCHAR (JDBC 4) (-9) |
| varchar(max) | LONGVARCHAR (-1) | VARCHAR (12) |
| time | VARCHAR (12) veya NVARCHAR (JDBC 4) (-9) | ZAMAN (-154) |
| date | VARCHAR (12) veya NVARCHAR (JDBC 4) (-9) | TARIH (91) |
| datetime2 | VARCHAR (12) veya NVARCHAR (JDBC 4) (-9) | ZAMAN DAMGASI (93) |
| datetimeoffset | VARCHAR (12) veya NVARCHAR (JDBC 4) (-9) | microsoft.sql.Types.DATETIMEOFFSET (-155) |
COLUMN_SIZE sütunda aşağıdaki değişiklikler vardır:
| SQL Server Veri Türü | JDBC Driver 2.0'da Dönüş Tipi | JDBC Driver 3.0'da Dönüş Tipi |
|---|---|---|
| nvarchar(max) | 1073741823 | 2147483647 (veritabanı meta verisi) |
| xml | 1073741823 | 2147483647 (veritabanı meta verisi) |
| Kullanıcı tanımlı tip 8 kB'den küçük veya eşit | 8 kB (sonuç seti ve parametre meta verileri) | Gerçek boyut, saklanan prosedürle döner. |
| time | Türün dizim temsilinin karakter cinsinden, kesirli saniyeler bileşeninin maksimum izin verilen hassasiyeti varsayılarak. | |
| date | Zaman ile aynı | |
| datetime2 | Zaman ile aynı | |
| datetimeoffset | Zaman ile aynı |
BUFFER_LENGTH sütunda şu değişiklik vardır:
| SQL Server Veri Türü | JDBC Driver 2.0'da Dönüş Tipi | JDBC Driver 3.0'da Dönüş Tipi |
|---|---|---|
| 8 kB'den büyük kullanıcı tanımlı tip | 2147483647 |
TYPE_NAME sütunda aşağıdaki değişiklikler bulunmaktadır:
| SQL Server Veri Türü | JDBC Driver 2.0'da Dönüş Tipi | JDBC Driver 3.0'da Dönüş Tipi |
|---|---|---|
| varchar(max) | Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Varchar Belediyesi |
| varbinary(max) | image | varbinary |
DECIMAL_DIGITS sütunda aşağıdaki değişiklikler vardır:
| SQL Server Tipi | JDBC Sürücü 2.0 | JDBC Sürücü 3.0 |
|---|---|---|
| time | sıfır | 7 (veya belirtilirse daha küçük) |
| date | sıfır | sıfır |
| datetime2 | sıfır | 7 (veya belirtilirse daha küçük) |
| datetimeoffset | sıfır | 7 (veya belirtilirse daha küçük) |
SQL_DATA_TYPE sütunda aşağıdaki değişiklikler vardır:
| SQL Server Veri Türü | SQL Server 2008 JDBC Driver 2.0'da Veri Değeri | SQL Server 2008 JDBC Driver 3.0'da Veri Değeri |
|---|---|---|
| varchar(max) | -10 | -9 |
| nvarchar(max) | -1 | -9 |
| xml | -10 | -152 |
| Kullanıcı tanımlı tip 8 kB'den küçük veya eşit | -3 | -151 |
| 8 kB'den büyük kullanıcı tanımlı tip | JDBC Driver 2.0'da mevcut değil | -151 |
| coğrafi bölge | -4 | -151 |
| geometri | -4 | -151 |
| Hiyerarşi | -4 | -151 |
| time | -9 | 92 |
| date | -9 | 91 |
| datetime2 | -9 | 93 |
| datetimeoffset | -9 | -155 |
Example
Aşağıdaki örnek, AdventureWorks2025 örnek veritabanındaki Person.Contact tablosu için bilgileri geri göndermek için getColumns yönteminin nasıl kullanılacağını göstermektedir.
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 {}
}
}
Ayrıca Bkz.
SQLServerDatabaseMetaData Yöntemleri
SQLServerDatabaseMetaData Üyeleri
SQLServerDatabaseMetaData Class