SQL Server yerel istemci seyrek sütunlar desteği

SQL ServerYerel istemci seyrek sütunları destekler. Seyrek sütunlar hakkında daha fazla bilgi için SQL Serverbakın Seyrek sütunlar kullanmave Sütun kümelerini kullanma.

Seyrek sütun hakkında daha fazla bilgi için destek SQL ServerYerel bkz: istemci, 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: Considerations for Installing SQL Server Samples and Sample Databases.

Seyrek sütunlar ve SQL Server yerel istemci kullanıcı senaryoları

Ortak kullanıcı senaryoları için aşağıdaki tabloda özetlenmektedir SQL Serverseyrek sütunları olan istemci yerel kullanıcılar:

Senaryo

Davranış

select * from tableor IOpenRowset::OpenRowset.

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

Bir sütun adı tarafından başvuru.

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

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

Seyrek üyeleri olan sütunlar column_setseçerek erişilebilen column_setadıyla ve değerleri eklenen ve xml güncelleştirerek updated column_setsütun.

Değeri şema uyması gerekir column_setsütun.

Bir tablodaki tüm sütun için meta veri almak SQLColumnsile bir sütunu arama deseni null ya da '%' (odbc); veya dbschema_columns şema satır kümesi sütun sınırlama yoktur (ole db) ile.

Üyesi olan tüm sütunlar için bir satır döndürür bir column_set. Tablo bir seyrek varsa column_set, bir satırın görüneceği için iade edilecektir

Not Bu üyeleri olan sütunlar için meta veri döndürmeyen bir column_set.

Zayıflığına ya da üyeliği bakılmaksızın tüm sütunlar için meta veri almak a column_set. Bu çok, çok sayıda satır döndürebilir.

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

Arama IDBSchemaRowset::GetRowsetdbschema_columns_extended şema satırkümesi (ole db) için.

Bu senaryo kullanan bir uygulama mümkün değildir SQL Serveryerel istemci bir yayın öncesi SQL Server 2008. Ancak, böyle bir uygulama sistem görünümleri doğrudan sorgu.

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

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

Arama IDBSchemaRowset::GetRowsetdbschema_sparse_column_set şema satırkümesi (ole db) için.

Bu senaryo kullanan bir uygulama mümkün değildir SQL Serveryerel istemci bir yayın öncesi SQL Server 2008. Ancak, böyle bir uygulama, sistem görünümleri sorgu.

Bir sütun seyrek olup olmadığını belirlemek.

SS_IS_SPARSE sütun başvurun SQLColumnssonuç kümesi (odbc).

SS_IS_SPARSE sütun dbschema_columns şema satırkümesi (ole db) başvurun.

Bu senaryo kullanan bir uygulama mümkün değildir SQL Serveryerel istemci bir yayın öncesi SQL Server 2008. Ancak, böyle bir uygulama, sistem görünümleri sorgu.

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

SS_IS_COLUMN_SET sütun başvurun SQLColumnssonuç kümesi. Ya da, bakın SQL Serverbelirli sütun özniteliği SQL_CA_SS_IS_COLUMN_SET (odbc).

SS_IS_COLUMN_SET sütun dbschema_columns şema satırkümesi başvurun. Ya da, bakın dwFlagstarafından döndürülen IColumnsinfo::GetColumnInfoya da dbcolumnflags tarafından döndürülen satır kümesi IColumnsRowset::GetColumnsRowset. İçin column_setsütunlar, DBCOLUMNFLAGS_SS_ISCOLUMNSET (ole db) ayarlanacaktır.

Bu senaryo kullanan bir uygulama mümkün değildir SQL Serveryerel istemci bir yayın öncesi SQL Server 2008. Ancak, böyle bir uygulama, sistem görünümleri sorgu.

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

Davranış önceki sürümlerinden herhangi bir değişiklik SQL ServerNative Client.

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

column_setİthal ve ihraç xml; aynı şekilde Yani olarak varbinary(max)bağlı olarak veya ikili türü, eğer nvarchar(max)Eğer bağlı olarak bir charya wchar türü.

Seyrek üyeleri olan sütunlar column_setDISTINCT sütun olarak; verilmez Onlar sadece değeri verilir column_set.

queryoutbcp için davranış.

Önceki sürümlerinden açıkça adlandırılmış sütunlar işleme hiçbir değişiklik SQL ServerNative Client.

Senaryoları maddelerle ilgili ithalat ve ihracat ile farklı şemalar, tablolar arasındaki ö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 verileri döndürecektir column_setiçin SQLColumnsve dbschma_columns. Sunulan ek ole db şema satır kümeleri SQL Server 2008Native Client, kullanılamayacak ne değişiklikler olacak SQLColumnsODBC üzerinden sql_sopt_ss_name_scope.

Aşağı düzey istemciler üyeleri seyrek sütunlar erişebilirsiniz column_setadıyla ve column_setsütun için bir xml sütunu olarak erişilebilir olacaktır SQL Server 2005Müşteri.

Seyrek sütunlar için toplu kopyalama (bcp) desteği

Seyrek sütunlar için odbc ya da ole db bcp API değişikliği yok ya column_setözellikleri.

Bir tablo varsa, bir column_set, seyrek sütunları değil farklı sütun olarak işlenir. Tüm seyrek sütun değerleri değerini içerdiği column_set, hangi xml sütun; aynı şekilde verilir gibi varbinary(max)bağlı olarak veya ikili türü, eğer nvarchar(max)Eğer bağlı olarak bir charya wchar türü). Alma, column_setdeğer şemasına uyması gereken column_set.

İçin queryoutişlemler açıkça başvurulan sütunları işlenir bir şekilde herhangi bir değişiklik olmaz. column_setsütun xml sütunları aynı davranışı var ve zayıflığına adlandırılmış seyrek sütunları işleme üzerinde etkisi yoktur.

Ancak, eğer queryoutkullanılan verme ve üye adına göre ayarlamak seyrek sütun seyrek sütun başvurusu için benzer şekilde yapılandırılmış bir tabloya doğrudan bir alma işlemi yapamazsınız. Bunun nedeni ile tutarlı meta veri bcp kullanır bir select *alma işlemi ve maç column_setBu meta verileri sütunlarla üye. Alınacak column_setüye sütunları tek tek istenilen başvuran tablo görünümü tanımlamalısınız column_setsütunlar ve görünümünü kullanarak alma işlemi gerçekleştirmek gerekir.

Ayrıca bkz.

Diğer Kaynaklar

SQL Server yerel istemci programlama