Aracılığıyla paylaş


SQL Server yerel istemcisi seyrek sütunlar desteği

SQL Server Yerel istemci seyrek sütunları destekler.İçinde seyrek sütunları hakkında daha fazla bilgi için SQL Server, bakın Seyrek sütunlar kullanma ve Sütun kümelerini kullanma.

Seyrek sütun hakkında daha fazla bilgi için destek SQL Server Native Client, bakın Seyrek sütunlar destek (odbc) ve Seyrek sütunlar desteği (ole db).

Bu özellik gösteren örnek uygulamalar hakkında daha fazla bilgi için bkz: SQL Server Örnekleri ve Örnek Veritabanlarının Yüklenmesiyle İlgili Önemli Noktalar.

Seyrek sütunlar ve sql Server yerel istemcisi için kullanıcı senaryoları

Aşağıdaki tablo için ortak kullanıcı senaryolar özetlenir SQL Server seyrek sütunları ile birlikte yerel istemci kullanıcıları:

Senaryo

Davranış

select * from tableor IOpenRowset::OpenRowset.

Seyrek üyesi olmayan tüm sütunlar döndürür column_set, seyrek üyesi olan tüm null olmayan sütunları değerleri içeren bir xml sütun artı column_set.

Ada göre bir sütun başvurusu.

Sütun seyrek sütun durumuna bakılmaksızın başvurulabilir veya column_set Üyelik.

Erişim column_set üye sütunları ile bir hesaplanan xml sütun.

Seyrek üye sütunlar column_set seçerek erişilebilen column_set adıyla değerleri eklenen ve xml içinde güncelleştirerek güncelleştirildi ve column_set sütun.

Değer için şema uyması gereken column_set sütunlar.

Tüm sütunlar için meta veri almak bir tablo ile SQLColumns ile bir sütunu arama deseni null veya '%' nı (odbc); ya da herhangi bir sütun kısıtlama (ole db) ile dbschema_columns şema satır kümesi.

Üyesi olan tüm sütunlar için bir satır döndürür bir column_set.Seyrek bir tablo varsa, column_set, bir satır döndürdü programı

Bu üyeleri olan sütunlar için meta veriler dönmek olduğunu unutmayın bir column_set.

Sparseness veya üyeliği bakılmaksızın tüm sütunlar için meta veriler almak bir column_set.Bu çok, çok sayıda satır döndürebilir.

Tanımlayıcısını ayarlayın alan sql_sopt_ss_name_scope sql_ss_name_scope_extended ve çağrı SQLColumns (odbc).

Call IDBSchemaRowset::GetRowset dbschema_columns_extended için şema satır kümesi (ole db).

Bu senaryo kullanan bir uygulama mümkün değildir SQL Server doğal bir yayın istemcisinden daha önceki SQL Server 2008.Ancak, bu tür bir uygulama sistem görünümleri doğrudan sorgu.

Üyesi olan sütunlar için meta veriler almak bir column_set.Bu çok, çok sayıda satır döndürebilir.

Tanımlayıcısını ayarlayın alan sql_sopt_ss_name_scope sql_ss_name_scope_sparse_column_set ve çağrı SQLColumns (odbc).

Call IDBSchemaRowset::GetRowset dbschema_sparse_column_set için şema satır kümesi (ole db).

Bu senaryo kullanan bir uygulama mümkün değildir SQL Server doğal bir yayın istemcisinden daha önceki SQL Server 2008.Ancak, bu tür bir uygulama sistem görünümler sorgulama.

Bir sütun seyrek olup.

Bakın SS_IS_SPARSE sütun , SQLColumns sonuç küme (odbc).

SS_IS_SPARSE sütun dbschema_columns bakın şema satır kümesi (ole db).

Bu senaryo kullanan bir uygulama mümkün değildir SQL Server doğal bir yayın istemcisinden daha önceki SQL Server 2008.Ancak, bu tür bir uygulama sistem görünümler sorgulama.

Bir sütun olup olmadığını bir column_set.

Bakın SS_IS_sütun_set sütun , SQLColumns sonuç küme.Ya da bakın SQL Server SQL_CA_SS_IS_COLUMN_SET (odbc) belirli sütun öznitelik.

SS_IS_COLUMN_SET sütun dbschema_columns bakın şema satır kümesi.Ya da bakın dwFlags tarafından döndürülen IColumnsinfo::GetColumnInfo veya dbcolumnflags tarafından döndürülen satır kümesi içinde IColumnsRowset::GetColumnsRowset.İçin column_set sütunlar, DBCOLUMNFLAGS_SS_ISCOLUMNSET küme (ole db).

Bu senaryo kullanan bir uygulama mümkün değildir SQL Server doğal bir yayın istemcisinden daha önceki SQL Server 2008.Ancak, bu tür bir uygulama sistem görünümler sorgulama.

Alma ve verme bcp tarafından seyrek sütun no ile bir tablo için column_set.

Hiçbir önceki sürümlerinden davranış değişikliği SQL Server yerel istemci.

Alma ve verme bcp tarafından seyrek sütun içeren bir tablo için bir column_set.

The column_set is imported and exported in the same way as XML; that is, as varbinary(max) if bound as a binary type, or as nvarchar(max) if bound as a char or wchar type.

Seyrek üye sütunlar column_set verilmemiş farklı sütunlar; yalnızca değerindeki dışa column_set.

queryout bcp için davranış.

Önceki sürümlerinden açıkça adlandırılmış sütunlar işlenmesi herhangi bir değişiklik SQL Server yerel istemci.

İlgili senaryolarda alma ve verme farklı şemaları kullanarak tablolar arasında özel işlem gerektirebilir.

bcp hakkında daha fazla bilgi için bkz: Bu konudaki seyrek sütunlar için Bulk Copy (bcp) desteği.

Alt düzey istemci davranışı

Aşağı düzey istemciler, seyrek üyesi olmayan sütunlar için meta veriler döndürecektir column_set için SQLColumns ve dbschma_columns.Ek ole db şema satır kümeleri olarak SQL Server 2008 Native Client kullanılamayacak, ne de değişiklikler olacak SQLColumns , odbc yoluyla sql_sopt_ss_name_scope.

Aşağı düzey istemciler, seyrek üye sütunlar erişebilirsiniz column_set ad ve column_set sütun için bir xml sütun olarak erişilebilir olacaktır SQL Server 2005 istemciler ve bir ntext için sütun SQL Server 2000 istemciler.

Seyrek sütunlar için Bulk Copy (bcp) desteği

Seyrek sütunlar için odbc ya da ole db bcp API için hiçbir değişiklik yoktur veya column_set özellikleri.

Bir tablo varsa, bir column_set, seyrek sütunları değil farklı sütunlar olarak eleDeğeri dahil tüm seyrek sütun değerleri column_set, bir xml sütun; aynı şekilde aktarılır, gibi diğer bir deyişle, varbinary(max) bağlı olarak veya ikili türü, eğer nvarchar(max) , bağlı olarak bir char veya wchar türü).İçe aktarma, column_set değeri şeması için uyması gereken column_set.

For queryout operations, there is no change to the way explicitly referenced columns are handled.column_set columns have the same behavior as XML columns and sparseness has no effect on the handling of named sparse columns.

Ancak, queryout kullanılan verme ve üye seyrek sütun seyrek sütun başvurusu için küme adıyla benzer şekilde yapılandırılmış bir tablo. doğrudan bir alma yapamazsınızbcp ile tutarlı meta veriler kullanıyor olmasıdır bir select * içe aktarma işlemi ve eşleşen column_set üye sütunlarla bu meta veriler.Almak için column_set üye sütunları ayrı ayrı başvuruda istenen tablo üzerinde bir görünüm tanımlamak column_set ve sütunlar, alma işlemini kullanarak gerçekleştirmek gerekirgörünümü.

Ayrıca bkz.

Diğer Kaynaklar