Aracılığıyla paylaş


ODBC: ODBC İmleç Kitaplığı

Bu konu, ODBC İmleç Kitaplığı'nı açıklar ve nasıl kullanılacağını açıklar. Daha fazla bilgi için bkz.

ODBC İmleç Kitaplığı, ODBC Sürücü Yöneticisi ile sürücü arasında bulunan bir dinamik bağlantı kitaplığıdır (DLL). ODBC terimleriyle, sürücü kayıt kümesindeki konumunu izlemek için bir imleç tutar. İmleç, zaten kaydırdığınız kayıt kümesindeki konumu (geçerli kayıt) işaretler.

İmleç Kitaplığı ve Düzey 1 ODBC Sürücüleri

ODBC İmleç Kitaplığı, Düzey 1 sürücülerine aşağıdaki yeni özellikleri verir:

  • İleri ve geri kaydırma. Düzey 2 sürücüleri zaten kaydırılabilir olduğundan imleç kitaplığına ihtiyaç duymaz.

  • Anlık görüntüler için destek. İmleç kitaplığı, anlık görüntünün kayıtlarını içeren bir arabelleği yönetir. Bu arabellek, programınızın silme ve düzenlemelerini kayıtlara yansıtır, ancak diğer kullanıcıların eklemelerini, silmelerini veya düzenlemelerini yansıtmaz. Bu nedenle, anlık görüntü yalnızca imleç kitaplığının arabelleği kadar günceldir. Arabelleği de çağırana Requerykadar kendi eklemelerinizi yansıtmaz. Dinamik kümeler imleç kitaplığını kullanmaz.

İmleç kitaplığı, normalde sürücünüz tarafından desteklenmese bile anlık görüntüler (statik imleçler) sağlar. Sürücünüz statik imleçleri zaten destekliyorsa, anlık görüntü desteği almak için imleç kitaplığını yüklemeniz gerekmez. İmleç kitaplığını kullanırsanız, yalnızca anlık görüntüleri ve yalnızca ileriye doğru kayıt kümelerini kullanabilirsiniz. Sürücünüz dinamik kümeleri (KEYSET_DRIVEN imleçler) destekliyorsa ve bunları kullanmak istiyorsanız, imleç kitaplığını kullanmamalısınız. Hem anlık görüntüleri hem de dinamik kümeleri kullanmak istiyorsanız, sürücünüz ikisini de desteklemediği sürece bunları iki farklı CDatabase nesneye (iki farklı bağlantı) dayandırmalısınız.

Konumlandırılmış Güncelleştirmeler ve Zaman Damgası Sütunları

Not

ODBC veri kaynaklarına bu konuda açıklandığı gibi MFC ODBC sınıfları aracılığıyla veya MFC Veri Erişim Nesnesi (DAO) sınıfları aracılığıyla erişilebilir.

Not

ODBC sürücünüz varsa MFC tarafından kullanılan öğesini destekliyorsa SQLSetPos, bu konu sizin için geçerli değildir.

Düzey 1 sürücülerinin çoğu konumlanmış güncelleştirmeleri desteklemez. Bu tür sürücüler, Düzey 2 sürücülerinin bu konudaki özelliklerini öykünmek için imleç kitaplığına güvenir. İmleç kitaplığı, değişmeyen alanlarda arama yapılan bir güncelleştirme yaparak konumlanmış güncelleştirme desteğine öykünmektedir.

Bazı durumlarda, kayıt kümesi bu değişmeyen alanlardan biri olarak bir zaman damgası sütunu içerebilir. MFC kayıt kümelerinin zaman damgası sütunları içeren tablolarla kullanılmasında iki sorun oluşur.

İlk sorun, zaman damgası sütunları olan tablolardaki güncelleştirilebilir anlık görüntülerle ilgilidir. Anlık görüntünüzün bağlı olduğu tablo bir zaman damgası sütunu içeriyorsa ve çağrısı yaptıktan sonra öğesini çağırmalısınız Requery Edit Update. Aksi takdirde, aynı kaydı yeniden düzenleyemeyebilirsiniz. ve Updateçağrısı Edit yaptığınızda, kayıt veri kaynağına yazılır ve zaman damgası sütunu güncelleştirilir. çağrısı Requeryyapmazsanız, anlık görüntünüzdeki kaydın zaman damgası değeri artık veri kaynağındaki ilgili zaman damgasıyla eşleşmez. Kaydı yeniden güncelleştirmeyi denediğinizde, uyumsuzluk nedeniyle veri kaynağı güncelleştirmeye izin vermeyebilir.

İkinci sorun, bir tabloya veya tablodan saat ve tarih bilgilerini aktarmak için işlevle birlikte RFX_Date kullanıldığında CTime sınıfının sınırlamalarıyla ilgilidir. Nesnenin CTime işlenmesi, veri aktarımı sırasında ek ara işleme biçiminde bazı ek yük getirir. Bazı uygulamalar için nesne tarih aralığı CTime da fazla sınırlayıcı olabilir. İşlevin RFX_Date yeni bir sürümü nesne yerine CTime odbc TIMESTAMP_STRUCT parametresi alır. Daha fazla bilgi için MFC Başvurusu'ndaki Makrolar ve Geneller bölümüne bakınRFX_Date.

İmleç Kitaplığını Kullanma

CDatabase::OpenEx veya CDatabase::Open çağrısı yaparak bir veri kaynağına bağlandığınızda, veri kaynağı için imleç kitaplığının kullanılıp kullanılmayacağını belirtebilirsiniz. Bu veri kaynağında anlık görüntüler oluşturacaksanız, parametresinde seçeneğini belirtin CDatabase::useCursorLib veya bUseCursorLib parametresi Open için TRUE değerini belirtin (varsayılan değer TRUE'dur).dwOptions OpenEx ODBC sürücünüz dinamik kümeleri destekliyorsa ve veri kaynağında dinamik kümeleri açmak istiyorsanız, imleç kitaplığını kullanmayın (dinamik kümeler için gereken bazı sürücü işlevlerini maskeler). Bu durumda, içinde belirtmeyin CDatabase::useCursorLib veya içinde bUseCursorLib parametresi Openiçin YANLIŞ belirtmeyin.OpenEx

Ayrıca bkz.

ODBC Temelleri