Aracılığıyla paylaş


Satır kümeleri ve SQL Server İmleçleri (Yerel İstemci OLE DB sağlayıcısı)

Şunlar için geçerlidir: Sql ServerAzure SQL VeritabanıAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Azure SQL Veritabanı

SQL Server, iki yöntem kullanarak sonuç kümelerini tüketicilere döndürür:

  • Varsayılan sonuç kümeleri:

    • Ek yükü en aza indirin.

    • Veri getirmede en yüksek performansı sağlayın.

    • Yalnızca varsayılan salt iletme, salt okunur imleç işlevselliğini destekler.

    • Satırları tüketiciye bir kerede bir satır döndürür.

    • Bir bağlantıda aynı anda yalnızca bir etkin deyimi destekler.

      Bir deyim yürütüldükten sonra, tüm sonuçlar tüketici tarafından alınana veya deyimi iptal edilene kadar bağlantıda başka hiçbir deyim yürütülemez.

    • Tüm Transact-SQL deyimlerini destekleyin.

  • Sunucu imleçleri:

    • Tüm imleç işlevlerini destekler.

    • Tüketiciye satır blokları döndürebilir.

    • Tek bir bağlantıda birden çok etkin deyimi destekler.

    • İmleç işlevselliğini performansa göre dengeleyin.

      İmleç işlevselliği desteği, varsayılan sonuç kümesine göre performansı düşürebilir. Tüketici daha küçük bir satır kümesi almak için imleç işlevselliğini kullanabiliyorsa bu uzaklık olabilir.

    • Tek bir sonuç kümesinden daha fazlasını döndüren Transact-SQL deyimini desteklemeyin.

Tüketiciler, belirli satır kümesi özelliklerini ayarlayarak satır kümesinde farklı imleç davranışları isteyebilir. Tüketici bu satır kümesi özelliklerinden herhangi birini ayarlamaz veya bunların tümünü varsayılan değerlerine ayarlamazsa, SQL Server Yerel İstemci OLE DB sağlayıcısı varsayılan sonuç kümesini kullanarak satır kümesini uygular. Bu özelliklerden herhangi biri varsayılan değer dışında bir değere ayarlanırsa, SQL Server Yerel İstemci OLE DB sağlayıcısı sunucu imlecini kullanarak satır kümesini uygular.

Aşağıdaki satır kümesi özellikleri, SQL Server Yerel İstemci OLE DB sağlayıcısını SQL Server imleçlerini kullanmaya yönlendirir. Bazı özellikler başkalarıyla güvenli bir şekilde birleştirilebilir. Örneğin, DBPROP_IRowsetScroll ve DBPROP_IRowsetChange özelliklerini gösteren bir satır kümesi, anında güncelleştirme davranışı gösteren bir yer işareti satır kümesi olacaktır. Diğer özellikler birbirini dışlar. Örneğin, DBPROP_OTHERINSERT gösteren bir satır kümesi yer işaretleri içeremez.

Özellik Kimliği Değer Satır kümesi davranışı
DBPROP_SERVERCURSOR VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi sıralı olup yalnızca ileri kaydırma ve getirme işlemlerini destekler. Göreli satır konumlandırma desteklenir. Komut metni bir ORDER BY yan tümcesi içerebilir.
DBPROP_CANSCROLLBACKWARDS veya DBPROP_CANFETCHBACKWARDS VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi her iki yönde kaydırmayı ve getirmeyi destekler. Göreli satır konumlandırma desteklenir. Komut metni bir ORDER BY yan tümcesi içerebilir.
DBPROP_BOOKMARKS veya DBPROP_LITERALBOOKMARKS VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi sıralı olup yalnızca ileri kaydırma ve getirme işlemlerini destekler. Göreli satır konumlandırma desteklenir. Komut metni bir ORDER BY yan tümcesi içerebilir.
DBPROP_OWNUPDATEDELETE, DBPROP_OWNINSERT veya DBPROP_OTHERUPDATEDELETE VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi her iki yönde kaydırmayı ve getirmeyi destekler. Göreli satır konumlandırma desteklenir. Komut metni bir ORDER BY yan tümcesi içerebilir.
DBPROP_OTHERINSERT VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi her iki yönde kaydırmayı ve getirmeyi destekler. Göreli satır konumlandırma desteklenir. Başvuruda bulunılan sütunlarda bir dizin varsa komut metni order by yan tümcesi içerebilir.

Satır kümesi yer işaretleri içeriyorsa DBPROP_OTHERINSERT VARIANT_TRUE olamaz. Bu görünürlük özelliği ve yer işaretleri ile bir satır kümesi oluşturmaya çalışmak hataya neden olur.
DBPROP_IRowsetLocate veya DBPROP_IRowsetScroll VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi her iki yönde kaydırmayı ve getirmeyi destekler. Satır kümesinde IRowsetLocate arabirimi yer işaretleri ve mutlak konumlandırma desteklenir. Komut metni bir ORDER BY yan tümcesi içerebilir.

DBPROP_IRowsetLocate ve DBPROP_IRowsetScroll satır kümesinde yer işaretleri gerektirir. Yer işaretleri ve DBPROP_OTHERINSERT VARIANT_TRUE olarak ayarlanmış bir satır kümesi oluşturmaya çalışmak hataya neden olur.
DBPROP_IRowsetChange veya DBPROP_IRowsetUpdate VARIANT_TRUE SQL Server verilerini satır kümesi aracılığıyla güncelleştirebilir. Satır kümesi sıralı olup yalnızca ileri kaydırma ve getirme işlemlerini destekler. Göreli satır konumlandırma desteklenir. Güncelleştirilebilir imleçleri destekleyen tüm komutlar bu arabirimleri destekleyebilir.
DBPROP_IRowsetLocate veya DBPROP_IRowsetScroll ve DBPROP_IRowsetChange ya da DBPROP_IRowsetUpdate VARIANT_TRUE SQL Server verilerini satır kümesi aracılığıyla güncelleştirebilir. Satır kümesi her iki yönde kaydırmayı ve getirmeyi destekler. IRowsetLocate aracılığıyla yer işaretleri ve mutlak konumlandırma satır kümesinde desteklenir. Komut metni bir ORDER BY yan tümcesi içerebilir.
DBPROP_IMMOBILEROWS VARIANT_FALSE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi yalnızca ileri kaydırmayı destekler. Göreli satır konumlandırma desteklenir. Başvuruda bulunılan sütunlarda bir dizin varsa komut metni order by yan tümcesi içerebilir.

DBPROP_IMMOBILEROWS yalnızca diğer oturumlardaki komutlar veya diğer kullanıcılar tarafından eklenen SQL Server satırlarını gösterebilen satır kümelerinde kullanılabilir. özelliği DBPROP_OTHERINSERT VARIANT_TRUE yapılamayan herhangi bir satır kümesinde VARIANT_FALSE olarak ayarlanmış bir satır kümesi açılmaya çalışılması hataya neden olur.
DBPROP_REMOVEDELETED VARIANT_TRUE SQL Server verileri satır kümesi aracılığıyla güncelleştirilemiyor. Satır kümesi yalnızca ileri kaydırmayı destekler. Göreli satır konumlandırma desteklenir. Komut metni, başka bir özellik tarafından kısıtlanmadığı sürece ORDER BY yan tümcesi içerebilir.

Sunucu imleci tarafından desteklenen SQL Server Yerel İstemci OLE DB sağlayıcı satır kümesi, IOpenRowset::OpenRowset yöntemi kullanılarak SQL Server temel tablosunda veya görünümünde kolayca oluşturulabilir. rgPropertySets parametresinde gerekli satır kümesi özellik kümelerini geçirerek tabloyu veya görünümü ada göre belirtin.

Bir satır kümesi oluşturan komut metni, tüketici satır kümesinin bir sunucu imleci tarafından desteklenmesi gerektiğinde kısıtlanır. Özellikle, komut metni tek bir satır kümesi sonucu döndüren tek bir SELECT deyimiyle veya tek bir satır kümesi sonucu döndüren tek bir SELECT deyimi uygulayan saklı yordamla sınırlıdır.

Bu iki tablo, çeşitli OLE DB özelliklerinin ve imleç modellerinin eşlemelerini gösterir. Ayrıca, belirli bir imleç modeli türünü kullanmak için hangi satır kümesi özelliklerinin ayarlanması gerektiğini gösterir.

Tablodaki her hücre, belirli bir imleç modeli için satır kümesi özelliğinin değerini içerir. Bu konuda daha önce listelenen tüm satır kümesi özelliklerinin veri türü VT_BOOL ve varsayılan değer VARIANT_FALSE. Tabloda aşağıdaki simgeler kullanılır.

F = varsayılan değer (VARIANT_FALSE)

T = VARIANT_TRUE

- = VARIANT_TRUE veya VARIANT_FALSE

Belirli bir imleç modeli türünü kullanmak için, imleç modeline karşılık gelen sütunu bulun ve sütunda 'T' değerine sahip tüm satır kümesi özelliklerini bulun. Belirli bir imleç modelini kullanmak için bu satır kümesi özelliklerini VARIANT_TRUE olarak ayarlayın. Değer olarak '-' olan satır kümesi özellikleri VARIANT_TRUE veya VARIANT_FALSE olarak ayarlanabilir.

Satır kümesi özellikleri/imleç modelleri Temerrüt

sonuç

ayarlamak

(RO)
Hızlı

iletmek-

sadece

(RO)
Duruk

(RO)
Anahtar Kümesi

Tahrik

(RO)
DBPROP_SERVERCURSOR F T T T
DBPROP_DEFERRED F F - -
DBPROP_IrowsetChange F F F F
DBPROP_IrowsetLocate F F - -
DBPROP_IrowsetScroll F F - -
DBPROP_IrowsetUpdate F F F F
DBPROP_BOOKMARKS F F - -
DBPROP_CANFETCHBACKWARDS F F - -
DBPROP_CANSCROLLBACKWARDS F F - -
DBPROP_CANHOLDROWS F F - -
DBPROP_LITERALBOOKMARKS F F - -
DBPROP_OTHERINSERT F T F F
DBPROP_OTHERUPDATEDELETE F T F T
DBPROP_OWNINSERT F T F T
DBPROP_OWNUPDATEDELETE F T F T
DBPROP_QUICKSTART F F - -
DBPROP_REMOVEDELETED F F F -
DBPROP_IrowsetResynch F F F -
DBPROP_CHANGEINSERTEDROWS F F F F
DBPROP_SERVERDATAONINSERT F F F -
DBPROP_UNIQUEROWS - F F F
DBPROP_IMMOBILEROWS - - - T
Satır kümesi özellikleri/İmleç modelleri Dinamik (RO) Anahtar Kümesi (R/W) Dinamik (R/W)
DBPROP_SERVERCURSOR T T T
DBPROP_DEFERRED - - -
DBPROP_IrowsetChange F - -
DBPROP_IrowsetLocate F - F
DBPROP_IrowsetScroll F - F
DBPROP_IrowsetUpdate F - -
DBPROP_BOOKMARKS F - F
DBPROP_CANFETCHBACKWARDS - - -
DBPROP_CANSCROLLBACKWARDS - - -
DBPROP_CANHOLDROWS F - F
DBPROP_LITERALBOOKMARKS F - F
DBPROP_OTHERINSERT T F T
DBPROP_OTHERUPDATEDELETE T T T
DBPROP_OWNINSERT T T T
DBPROP_OWNUPDATEDELETE T T T
DBPROP_QUICKSTART - - -
DBPROP_REMOVEDELETED T - T
DBPROP_IrowsetResynch - - -
DBPROP_CHANGEINSERTEDROWS F - F
DBPROP_SERVERDATAONINSERT F - F
DBPROP_UNIQUEROWS F F F
DBPROP_IMMOBILEROWS F T F

Belirli bir satır kümesi özellikleri kümesi için, seçilen imleç modeli aşağıdaki gibi belirlenir.

Belirtilen satır kümesi özellikleri koleksiyonundan, önceki tablolarda listelenen özelliklerin bir alt kümesini alın. Bu özellikleri, her satır kümesi özelliğinin gerekli (T, F) veya isteğe bağlı (-) bayrak değerine bağlı olarak iki alt gruba bölün. Her imleç modeli için ilk tablodan başlayın ve soldan sağa doğru ilerleyin. İki alt gruptaki özelliklerin değerlerini ilgili sütundaki ilgili özelliklerin değerleriyle karşılaştırın. Gerekli özelliklerle uyuşmazlığı olmayan imleç modeli ve isteğe bağlı özelliklerle en az sayıda uyuşmazlık seçilir. Birden fazla imleç modeli varsa, en soldaki seçilir.

SQL Server İmleç Bloğu Boyutu

SQL Server imleci bir SQL Server Yerel İstemci OLE DB sağlayıcı satır kümesini desteklediğinde, satırdaki öğelerin sayısı IRowset::GetNextRows veya IRowsetLocate::GetRowsAt yöntemlerinin dizi parametresini işler. Dizideki tanıtıcılar tarafından belirtilen satırlar, imleç bloğunun üyeleridir.

Yer işaretlerini destekleyen satır kümeleri için, IRowsetLocate::GetRowsByBookmark yöntemi kullanılarak alınan satır tanıtıcıları imleç bloğunun üyelerini tanımlar.

Satır kümesini doldurmak ve SQL Server imleç bloğunu oluşturmak için kullanılan yöntemden bağımsız olarak, satır kümesinde bir sonraki satır getirme yöntemi yürütülene kadar imleç bloğu etkindir.

Ayrıca Bkz.

Satır Kümelerini