Aracılığıyla paylaş


SQL Server yerel istemci sparse sütunlar desteği

SQL Server Yerel istemci sparse sütunları destekler.Seyrek sütunları hakkında daha fazla bilgi için SQL Server, bkz: Seyrek sütunları kullanma ve Sütun kümesi'ni kullanma.

Seyrek sütun desteği hakkında daha fazla bilgi için SQL Server Yerel istemci için bkz: Seyrek sütunlar destek (ODBC) ve Seyrek sütunlar desteği (OLE DB).

Bu özellik gösteren bir ö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 özgün istemci kullanıcı senaryoları

Aşağıdaki tablo için genel kullanıcı senaryolar özetlenir... SQL Server Yerel istemci kullanıcılarla sparse sütunlar:

Senaryosu

Davranış

select * from table veya IOpenRowset::OpenRowset.

The sparse üyesi olmayan tüm sütunlar döndürür. column_set, artı sparse üyesi olan tüm null olmayan sütunları değerlerini içeren bir XML sütun column_set.

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

Sütun, seyrek sütun durumuna bakmaksızın başvurulabilir veya column_set üyeliği.

Access column_set üye sütunlar üzerinden hesaplanan bir XML sütun.

The sparse üyeleri olan sütunlar column_set seçerek erişilebilen column_set ada göre ve olan değerleri eklenmiş XML içinde güncelleştirme tarafından güncelleştirilir column_set sütun.

Değer'için şema uygun olması gerekir column_set sütunlar.

Tüm sütunlara meta verilerlerini almak bir tablo aracılığıyla SQLColumns sütun arama desenini NULL ile veya ‘ % ’ (ODBC); veya sütunun sınırlama (OLE DB) ile DBSCHEMA_COLUMNS şema satır kümesi kümesi.

Üyesi olan tüm sütunlar için bir satır döndüren bir column_set. Tablonun bir seyrek varsa column_set, onun için bir satır döndürülür.

Bu meta veriler üyesi olan bir sütun döndürmüyor Not bir column_set.

Meta veriler, sparseness veya üyelik ne olursa olsun, tüm sütunların almak bir column_set. Bu, çok sayıda satır döndürebilir.

küme SQL_SOPT_SS_NAME_SCOPE SQL_SS_NAME_SCOPE_EXTENDED ve arama tanımlayıcısı alanı SQLColumns (odbc).

Arama IDBSchemaRowset::GetRowset DBSCHEMA_COLUMNS_EXTENDED şema satır kümesi kümesi için (OLE DB).

Bu senaryo, kullanan bir uygulama yapılamaz SQL Server Bir yayın yerel bir istemciden tarihten daha erken SQL Server 2008. Ancak, bir uygulama sistem görünümleri doğrudan sorgu.

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

küme SQL_SOPT_SS_NAME_SCOPE SQL_SS_NAME_SCOPE_SPARSE_COLUMN_ için tanımlayıcı alan küme ve arama SQLColumns (odbc).

Arama IDBSchemaRowset::GetRowset DBSCHEMA_SPARSE_COLUMN_SET şema satır kümesi kümesi için (OLE DB).

Bu senaryo, kullanan bir uygulama yapılamaz SQL Server Bir yayın yerel bir istemciden tarihten daha erken SQL Server 2008. Ancak, bir uygulama sistem görünümleri sorgu.

sütun sparse olup olmadığını belirleyin.

SS_IS_SPARSE sütun başvurun SQLColumns Sonuç kümesi (ODBC).

SS_IS_SPARSE sütun DBSCHEMA_COLUMNS şema satır kümesi kümesi (OLE DB) başvurun.

Bu senaryo, kullanan bir uygulama yapılamaz SQL Server Bir yayın yerel bir istemciden tarihten daha erken SQL Server 2008. Ancak, bir uygulama sistem görünümleri sorgu.

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

SS_IS_COLUMN_ başvurun küme sütunu SQLColumns Sonuç küme. Veya, başvurun SQL Server Belirli bir sütun özniteliği SQL_CA_SS_IS_COLUMN_SET (ODBC).

DBSCHEMA_COLUMNS şema satır kümesi kümesi SS_IS_COLUMN_SET sütun başvurun.Veya, bakın dwFlags tarafından döndürüldü. IColumnsinfo::GetColumnInfo veya DBCOLUMNFLAGS tarafından döndürülen satır kümesi içinde IColumnsRowset::GetColumnsRowset. Için column_set sütun DBCOLUMNFLAGS_SS_ISCOLUMNSET (OLE DB) olarak küme.

Bu senaryo, kullanan bir uygulama yapılamaz SQL Server Bir yayın yerel bir istemciden tarihten daha erken SQL Server 2008. Ancak, bir uygulama sistem görünümleri sorgu.

Alma ve verme sparse BCP sütunu yok bir tablo için column_set.

Herhangi bir değişiklik'ün önceki sürümlerindeki davranışı SQL Server Yerel istemci.

Alma ve verme, seyrek BCP sütunu 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.

The sparse üyeleri olan sütunlar column_set farklı sütun verilen yalnızca değerindeki dışa column_set.

queryout BCP davranışı.

Işleme açıkça adlı sütun önceki sürümlerinden herhangi bir değişiklik SQL Server Yerel istemci.

Maddelerle ilgili senaryolarda alma ve verme ile farklı şemalar, tablolar arasında özel işlem gerektirebilir.

BCP hakkında daha fazla bilgi için bu konuda daha sonra BCP (toplu kopyalama) desteği ve seyrek sütun, bakın.

kapalı-Istemci davranışı düzey

kapalı-düzey istemciler, sparse üyesi olmayan sütunlar için meta veriler döndürür column_set için SQLColumns ve DBSCHMA_COLUMNS. Olarak ek OLE DB şema Satır kümeleri SQL Server 2008 Yerel istemci kullanılamayacak veya yapılan değişiklikler olur. SQLColumns SQL_SOPT_SS_NAME_SCOPE aracılığıyla ODBC içinde.

Alt düzey istemcilerde sparse üyeleri olan sütunlar erişebilirsiniz column_set adına göre ve column_set sütun için bir XML sütun olarak erişilemez SQL Server 2005 istemciler ve ntext sütun için SQL Server 2000 istemciler.

Seyrek sütunlar toplu Kopyala (BCP) desteği

Seyrek sütunlar için ODBC veya OLE DB BCP APı'SINE yapılan herhangi bir değişiklik vardır veya column_set Özellikler.

Bir tablo varsa bir column_set, seyrek sütunları ayrı bir sütun olarak işlenmez. Seyrek sütunların değerlerini değerindeki içerdiği column_set, bir XML sütun; aynı şekilde verilen diğer bir deyişle olarak varbinary(max) veya ikili bir tür olarak bağlı nvarchar(max) olarak bağlı bir char veya wchar yazın). Alma, column_set değer şemasına uymalıdır 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 seyrek sütun adına göre küme olan sparse sütun başvurusu için benzer biçimde yapılandırılmış bir tabloya doğrudan bir alma işlemi yapamıyor. Bunun nedeni, BCP tutarlı meta veriler kullanan bir select * alma işleminde ve eşleştir column_set Bu meta veriler sütunlarla üye. Almak için column_set üye sütunları ayrı ayrı bir istenen başvuran tablo görünümü tanımlamalısınız. column_set sütun ve bu görünümü kullanarak alma işlemi gerçekleştirmelisiniz.