Aracılığıyla paylaş


Ortak Şema Koleksiyonları

Yaygın şema koleksiyonları, .NET Framework yönetilen sağlayıcılarının her biri tarafından uygulanan şema koleksiyonlarıdır. Yöntemini bağımsız değişken olmadan veya şema koleksiyonu adı "MetaDataCollections" ile çağırarak GetSchema desteklenen şema koleksiyonlarının listesini belirlemek için .NET Framework yönetilen sağlayıcısını sorgulayabilirsiniz. Bu, desteklenen şema koleksiyonlarının listesini, her birinin desteklediği kısıtlamaların sayısını ve kullandıkları tanımlayıcı parçalarının sayısını içeren bir DataTable döndürür. Bu koleksiyonlar tüm gerekli sütunları açıklar. Sağlayıcılar isterlerse ek sütunlar ekleyebilir. Örneğin, SqlClientOracleClient parameterName öğesini kısıtlamalar koleksiyonuna ekleyin.

Sağlayıcı gerekli bir sütunun değerini belirleyemezse null döndürür.

Daha fazla bilgi için, GetSchema yöntemlerini kullanma hususunda GetSchema ve Şema Koleksiyonları bölümüne bakın.

MetaDataCollections

Bu şema koleksiyonu, şu anda veritabanına bağlanmak için kullanılan .NET Framework yönetilen sağlayıcısı tarafından desteklenen tüm şema koleksiyonları hakkındaki bilgileri kullanıma sunar.

Sütun Adı VeriTürü Açıklama
Koleksiyon Adı String Koleksiyonu döndürmek için GetSchema yöntemine geçirilecek koleksiyonun adı.
KısıtlamaSayısı Int Koleksiyon için belirtilebilen kısıtlamaların sayısı.
TanımlayıcıParçaSayısı Int Bileşik tanımlayıcı/veritabanı nesne adındaki parça sayısı. Örneğin, SQL Server'da bu tablolarda 3, sütunlar için 4 olur. Oracle'da tablolarda 2, sütunlar için 3 olacaktır.

VeriKaynağıBilgisi

Bu şema koleksiyonu, .NET Framework yönetilen sağlayıcısının şu anda bağlı olduğu veri kaynağı hakkındaki bilgileri kullanıma sunar.

Sütun Adı VeriTürü Açıklama
BileşikKimlikAyırıcıDüzeni String Bileşik tanımlayıcıdaki bileşik ayırıcıları eşleştirmek için kullanılan düzenli ifade. Örneğin, "\." (SQL Server için) veya "@|\." (Oracle için).

Bileşik tanımlayıcı genellikle veritabanı nesne adı için kullanılan tanımlayıcıdır; örneğin: pubs.dbo.authors veya pubs@dbo.authors.

SQL Server için "\." normal ifadesini kullanın. OracleClient için "@|\." kullanın.

ODBC için Catalog_name_separator kullanın.

OLE DB için DBLITERAL_CATALOG_SEPARATOR veya DBLITERAL_SCHEMA_SEPARATOR kullanın.
VeriKaynağıÜrünAdı String "Oracle" veya "SQLServer" gibi sağlayıcı tarafından erişilen ürünün adı.
VeriKaynağıÜrünSürümü String Sağlayıcının eriştiği ürün sürümünü, Microsoft biçiminde değil, veri kaynaklarının yerel formatında gösterir.

Bazı durumlarda DataSourceProductVersion ve DataSourceProductVersionNormalized aynı değer olacaktır. OLE DB ve ODBC durumunda, bunlar her zaman aynı olacaktır çünkü temel alınan yerel API'de aynı işlev çağrısına eşlenmişlerdir.
VeriKaynağıÜrünSürümüNormalleştirilmiş String Veri kaynağı için, ile String.Compare()karşılaştırılabilecek şekilde normalleştirilmiş bir sürüm. Bunun biçimi, sürüm 10'un sürüm 1 ile sürüm 2 arasında sıralanmasını önlemek için sağlayıcının tüm sürümleri için tutarlıdır.

Örneğin, Oracle sağlayıcısı normalleştirilmiş sürümü için "nn.nn.nn.nn.nn" biçimini kullanır ve bu da Oracle 8i veri kaynağının "08.01.07.04.01" döndürmesine neden olur. SQL Server tipik Microsoft "nn.nn.nnnn" biçimini kullanır.

Bazı durumlarda DataSourceProductVersion ve DataSourceProductVersionNormalized değerleri aynı olacaktır. OLE DB ve ODBC söz konusu olduğunda, temel alınan yerel API'deki aynı işlev çağrısına eşlendiğinden dolayı bu ikisi her zaman aynı olacaktır.
GroupByBehavior GroupByBehavior GROUP BY yan tümcesindeki sütunlar ile seçme listesindeki toplanmamış sütunlar arasındaki ilişkiyi belirtir.
KimlikDeseni String Bir tanımlayıcıyla eşleşen ve tanımlayıcının eşleşme değerine sahip normal ifade. Örneğin, "[A-Za-z0-9_#$]".
Tanımlayıcı Durumu IdentifierCase Tırnak içinde olmayan tanımlayıcıların büyük/küçük harfe duyarlı olarak değerlendirilip değerlendirilmediğini gösterir.
SütunlaraGöreSıralaSeçimlerde Boole ORDER BY yan tümcesindeki sütunların seçme listesinde bulunup bulunmayacağını belirtir. True değeri, seçim listesinde olmaları gerektiğini, false değeri ise seçme listesinde yer almalarının gerekli olmadığını gösterir.
ParametreİşaretleyiciBiçimi String Parametrenin nasıl biçimlendirildiğini gösteren biçim dizesi.

Adlandırılmış parametreler veri kaynağı tarafından destekleniyorsa, bu dizedeki ilk yer tutucu parametre adının biçimlendirileceği yer olmalıdır.

Örneğin, veri kaynağı parametrelerin ':' olarak adlandırılıp önekli olmasını bekliyorsa, bu ":{0}" olur. Bunu "p1" parametre adıyla biçimlendirirken sonuçta elde edilen dize ":p 1" olur.

Veri kaynağı parametrelerin ön ekinin '@' olmasını bekliyorsa, ancak adlar zaten bunları içeriyorsa, bu '{0}' olur ve "@p1" adlı bir parametreyi biçimlendirmenin sonucu yalnızca "@p1" olur.

Adlandırılmış parametreleri beklemeyen ve '?' karakterinin kullanılmasını bekleyen veri kaynakları için biçim dizesi yalnızca '?' olarak belirtilebilir ve bu da parametre adını yoksayar. OLE DB için '?' döndüreceğiz.
Parameter İşaretleyici Deseni String Parametre işaretçisi ile eşleşen normal ifade. Varsa parametre adının eşleşme değerine sahip olur.

Örneğin, adlandırılmış parametreler parametre adına eklenecek bir '@' giriş karakteriyle destekleniyorsa, şu olabilir: "(@[A-Za-z0-9_$#]*)".

Ancak, adlandırılmış parametreler ':' ile baş karakter olarak destekleniyorsa ve parametre adının bir parçası değilse, şu olacaktır: ":([A-Za-z0-9_$#]*)".

Tabii ki, veri kaynağı adlandırılmış parametreleri desteklemiyorsa, bu yalnızca "?" olacaktır.
ParametreAdıAzamiUzunluk Int Parametre adının karakter cinsinden uzunluk üst sınırı. Visual Studio, parametre adları destekleniyorsa uzunluk üst sınırı için en düşük değerin 30 karakter olmasını bekler.

Veri kaynağı adlandırılmış parametreleri desteklemiyorsa, bu özellik sıfır döndürür.
ParametreAdıDeseni String Geçerli parametre adları ile eşleşen normal bir ifade. Farklı veri kaynakları, parametre adları için kullanılabilecek karakterlerle ilgili farklı kurallara sahiptir.

Visual Studio, parametre adları destekleniyorsa, "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" karakterlerinin parametre adları için geçerli olan desteklenen en düşük karakter kümesi olmasını bekler.
Alıntılanmış Tanımlayıcı Deseni String Tırnak içinde belirtilen tanımlayıcıyla eşleşen ve tırnak işaretleri olmadan tanımlayıcının kendi eşleşme değerine sahip normal ifade. Örneğin, veri kaynağı tırnak içine alınmış tanımlayıcıları tanımlamak için çift tırnak kullandıysa, şu olur: "((([^\"]|\"\")*".
TırnaklıTanımlayıcıDurumu IdentifierCase Tırnak içine alınmış tanımlayıcıların büyük/küçük harfe duyarlı olarak değerlendirilip değerlendirilmediğini gösterir.
DurumAyırıcıDeseni String İfade ayırıcısıyla eşleşen düzenli ifade.
DizeKelimeDeseni String Bir dize değişmez değeriyle eşleşen ve değişmez değerin eşleşme değerine sahip normal ifade. Örneğin, veri kaynağı dizeleri tanımlamak için tek tırnak kullandıysa, şu olur: "('([^']|'')*')"
Desteklenen Birleşim Operatörleri SupportedJoinOperators Veri kaynağı tarafından desteklenen SQL birleştirme deyimlerinin türlerini belirtir.

Veri Türleri

Bu şema koleksiyonu, .NET Framework yönetilen sağlayıcısının şu anda bağlı olduğu veritabanı tarafından desteklenen veri türleri hakkındaki bilgileri kullanıma sunar.

Sütun Adı VeriTürü Açıklama
TürAdı String Sağlayıcıya özgü veri türü adı.
ProviderDbType Int Parametrenin türü belirtilirken kullanılması gereken sağlayıcıya özgü tür değeri. Örneğin, SqlDbType.Money veya OracleType.Blob.
Sütun Boyutu uzun Sayısal olmayan bir sütun veya parametrenin uzunluğu, sağlayıcı tarafından bu tür için tanımlanan maksimum veya uzunluk anlamına gelir.

Karakter verileri için bu, veri kaynağı tarafından tanımlanan birim cinsinden maksimum veya tanımlı uzunlukdur. Oracle,bir uzunluk belirtme ve ardından bazı karakter veri türleri için gerçek depolama boyutunu belirtme kavramına sahiptir. Bu, oracle için yalnızca birim cinsinden uzunluğu tanımlar.

Tarih-saat veri türleri için bu, dize gösteriminin uzunluğudur (kesirli saniye bileşeninin izin verilen en yüksek duyarlığı varsayılır).

Veri türü sayısalsa, bu, veri türünün en yüksek duyarlığı üzerindeki üst sınırdır.
Format Oluştur String Bu sütunun CREATE TABLE gibi bir veri tanımı deyimine nasıl ekleneceğini temsil eden biçim dizesi. CreateParameter dizisindeki her öğe, biçim dizesinde bir "parametre işaretçisi" ile temsil edilmelidir.

Örneğin, DECIMAL SQL veri türü için bir kesinlik ve ölçek gereklidir. Bu durumda, biçim dizesi "DECIMAL({0},{1})" olacaktır.
ParametreleriOluştur String Bu veri türünde bir sütun oluşturulurken belirtilmesi gereken oluşturma parametreleri. Her oluşturma parametresi, dizede, sağlanacakları sırayla virgülle ayrılmış olarak listelenir.

Örneğin, DECIMAL SQL veri türü için bir kesinlik ve ölçek gereklidir. Bu durumda, oluşturma parametreleri "precision, scale" dizesini içermelidir.

Hassasiyeti 10 ve ölçeği 2 olan bir ONDALIK sütun oluşturmak için kullanılan bir metin komutunda, CreateFormat sütununun değeri "DECIMAL({0},{1})" olabilir ve tam tür belirtimi DECIMAL(10,2) olur.
VeriTürü String Veri türünün .NET Framework türünün adı.
OtoArtışabilirMi Boole true— Bu veri türünün değerleri otomatik olarak artırılabilir.

false—Bu veri türünün değerleri otomatik olarak artırılamayabilir.

Bunun yalnızca bu veri türündeki bir sütunun otomatik olarak artırılıp artırılmadığını gösterdiğine, bu türe ait tüm sütunların otomatik olarak artırılıp artırılmadığını gösterdiğine dikkat edin.
IsBestMatch Boole true—Veri türü, veri deposundaki tüm veri türleri ile DataType sütunundaki değerle belirtilen .NET Framework veri türü arasındaki en iyi eşleşmedir.

false—Veri türü en iyi eşleşme değil.

DataType sütununun değerinin aynı olduğu her satır kümesi için IsBestMatch sütunu yalnızca bir satırda true olarak ayarlanır.
BüyükKüçükHarfDuyarlı Boole "true— Veri türü bir karakter türüdür ve harf büyüklüğüne duyarlıdır."

Yanlış—Veri çeşidi karakter türü değil veya büyük/küçük harfe duyarlı değil.
SabitUzunluk Boole true—Veri tanımı dili (DDL) tarafından oluşturulan bu veri türünün sütunları sabit uzunlukta olacaktır.

false—DDL tarafından oluşturulan bu veri türünün sütunları değişken uzunlukta olacaktır.

DBNull.Value—Sağlayıcının bu alanı sabit uzunluklu veya değişken uzunlukta bir sütunla eşleyip eşlemeyeceği bilinmez.
[No changes needed] Boole true— Veri türünün sabit bir duyarlığı ve ölçeği vardır.

false—Veri türünün sabit bir duyarlığı ve ölçeği yoktur.
IsLong Boole true—Veri türü çok uzun veriler içerir; çok uzun verilerin tanımı sağlayıcıya özgüdür.

false—Veri türü çok uzun veri içermiyor.
IsNullable Boole doğru—Veri tipi null atanabilir.

false—Veri türü null değer almaz.

DBNull.Value—Veri türünün null atanabilir olup olmadığı bilinmez.
AranabilirMi Boole true— Veri türü, LIKE ifadesi hariç herhangi bir işleçle WHERE yan tümcesinde kullanılabilir.

false— Veri türü, LIKE koşulu dışında herhangi bir işleçle WHERE yan tümcesinde kullanılamaz.
Like ile Aranabilir Boole true—Veri türü LIKE koşuluyla kullanılabilir

false—Veri türü LIKE koşuluyla kullanılamaz.
İşaretsiz mi Boole true— Veri türü işaretsiz.

false—Veri türü imzalı.

DBNull.Value—Veri türü için geçerli değildir.
Maksimum Ölçek kısa Tür göstergesi sayısal bir türse, ondalık ayırıcının sağındaki izin verilen basamak sayısı üst sınırıdır. Aksi takdirde, bu DBNull.Value'dir.
Minimum Ölçeklendirme kısa Tür göstergesi sayısal bir türse, ondalık ayırıcının sağında bulunması gereken en az basamak sayısını belirtir. Aksi takdirde, bu DBNull.Value'dir.
IsConcurrencyType Boole true – veri türü, satır her değiştirildiğinde veritabanı tarafından güncelleştirilir ve sütunun değeri önceki tüm değerlerden farklıdır

false – veri türü, satır her değiştirildiğinde veritabanı tarafından güncelleştirilir

DBNull.Value – veritabanı bu tür veri türünü desteklemez
IsLiteralSupported Boole true – veri türü sabit değer olarak ifade edilebilir

false – veri türü sabit değer olarak ifade edilemez
LiteralÖnek String Belirli bir değişmez değere uygulanan ön ek.
Değişmez Değer Soneki String Belirli bir değişmez değere uygulanan sonek.
NativeDataType Dize NativeDataType, veri türünün OLE DB türünü göstermek amacıyla OLE DB'ye özgü bir sütundur.

Kısıtlamalar

Bu şema koleksiyonu, şu anda veritabanına bağlanmak için kullanılan .NET Framework yönetilen sağlayıcısının desteklediği kısıtlamalarla ilgili bilgileri ortaya koymaktadır.

Sütun Adı VeriTürü Açıklama
Koleksiyon Adı String Bu kısıtlamaların uygulandığı koleksiyonun adı.
KısıtlamaAdı String Koleksiyondaki kısıtlamanın adı.
KısıtlamaVarsayılan String Göz ardı edildi.
Kısıtlama Numarası Int Bu özel kısıtlamanın geçerli olduğu koleksiyon kısıtlamalarındaki gerçek konum.

Ayrılmış Kelimeler

Bu şema koleksiyonu, şu anda bağlı olan .NET Framework yönetilen sağlayıcısının veritabanı tarafından rezerve edilen sözcükler hakkında bilgiler sunmaktadır.

Sütun Adı VeriTürü Açıklama
Rezerve Edilmiş Kelime String Sağlayıcıya özgü ayrılmış sözcük.

Ayrıca bakınız