Aracılığıyla paylaş


ODBC: ODBC İmleç Kitaplığı

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

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

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

  • İmleç Kitaplığı Kullanmak

ODBC imleç kitaplığı, ODBC Sürücü Yöneticisi ve sürücü arasında bulunan bir dinamik bağlantı kitaplığıdır (DLL).ODBC açısından, bir sürücü kayıt kümesi içindeki konumunu izlemek için bir işaretçi tutar.İmleç, 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 imleç kitaplığı, Düzey 1 sürücülerine aşağıdaki yeni özellikleri verir:

  • İleri ve geri kaydırma.Zaten kaydırılabilir olduklarından 2. Düzey sürücülerin imleç kitaplığına ihtiyaçları yoktur.

  • Ekran dökümleri desteği.İmleç kitaplığı, anlık görüntünün kayıtlarını içeren bir arabelleği yönetir.Bu arabellek programı silme işlemlerini ve kayıtlara ilişkin düzenlemeleri yansıtır, diğer kullanıcılara ilişkin eklemeleri, silmeleri veya düzenlemeleri değil.Bu yüzden, anlık görüntü yalnızca imleç kitaplığının arabelleği kadar geçerlidir.Arabellek ayrıca siz Requery'i çağırana kadar sizin kendi eklemelerini yansıtmaz.Dinamik kümeler imleç kitaplıklarını kullanmaz.

İmleç kitaplığı sürücünüz tarafından desteklenmiyor olsa bile size anlık görüntüler (statik imleçler) verir.Sürücünüz zaten statik imleçleri destekliyorsa, anlık görüntü desteği almak için imleç kitaplığını yüklemeniz gerekmez.İmleç kitaplığı kullanıyorsanız, yalnızca anlık görüntüleri ve salt iletme kayıt kümelerini kullanabilirsiniz.Sürücünüz dinamik kümeleri (KEYSET_DRIVEN imleçler) destekliyorsa ve onları kullanmak istiyorsanız, imleç kitaplığını kullanmamanız gerekir.Hem anlık görüntüleri hem de dynaset'leri kullanmak istiyorsanız, sürücünüz her ikisini desteklemedikçe bunların iki farklı CDatabase nesnesini (iki farklı bağlantı) temel almasını sağlamalı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ı üzerinden, ya da MFC Veri Erişim Nesnesi (DAO) üzerinden erişilebilir.

[!NOT]

ODBC sürücünüz MFC'nin bulunuyorsa kullandığı SQLSetPos öğesini destekliyorsa, bu konu sizin için geçerli değildir.

Düzey 1 sürücülerin çoğu, konumlandırılmış güncelleştirmeleri desteklemez.Bu tür sürücüler, bu bağlamda Seviye 2 yeteneklerini taklit etmek için imleç kütüphanesine dayanır.İmleç kitaplığı, değişmeyen alanlarda aranan bir güncelleştirme yaparak konumlandırılmış güncelleştirme desteğine öykünür.

Bazı durumlarda, bir kayıt kümesi değişmeyen bu alanlardan biri olarak bir zaman damgası sütunu içerebilir.MFC kayıt kümelerini zaman damgası sütunları içeren tablolar ile kullanırken iki sorun ortaya çıkar.

İlk sorun, zaman damgası ile tablolardaki güncellenebilir anlık görüntülerle ilgilidir.Anlık görüntünüzün bağlı olduğu tablo zaman damgası sütunu içeriyorsa, Edit ve Update çağrılarından sonra Requery çağırmalısınız.Yoksa, aynı kaydı yeniden düzenlemeniz mümkün olmayabilir.Düzenlekomutunu ve ardından Güncelleştir komutunu çağırdığınızda, kayıt veri kaynağına yazılır ve zaman damgası sütunu güncelleştirilir.Requery çağırmazsanız, anlık görüntünüzdeki zaman damgası değeri artık veri kaynağındaki ilişkili zaman damgası ile eşleşmez.Kaydı tekrar güncelleştirmeye çalıştığınızda, veri kaynağı güncelleştirmeye uyumsuzluk nedeniyle izin vermeyebilir.

İkinci sorun, bir tablodan veya bir tabloya zaman ve tarih aktarımı RFX_Date işleviyle kullanıldığında CTime sınıfının sınırlamaları ile ilgilidir.CTime nesnesinin işlenmesi, veri aktarımı sırasında fazladan orta düzeyde işleme şeklinde bazı ek yükler uygular.CTime nesnelerinin tarih aralığı bazı uygulamalar için fazla sınırlandırıcı olabilir.RFX_Date işlevinin yeni bir sürümü, CTime nesnesi yerine bir ODBC TIMESTAMP_STRUCT parametresi alır.Daha fazla bilgi için, MFC Başvuru belgesindeki Makrolar ve Geneller bölümünde RFX_Date öğesine bakın.

İmleç Kitaplığı Kullanmak

CDatabase::OpenEx veya CDatabase::Open öğelerini çağırarak — bir veri kaynağına bağlandığınızda, veri kaynağı için imleç kitaplığını kullanıp kullanmayacağınızı belirtebilirsiniz.O veri kaynağında anlık görüntüler oluşturacaksanız, dwOptions parametresindeki CDatabase::useCursorLib seçeneğini OpenEx olarak veya bUseCursorLib parametresindeki TRUE öğesini Açık olarak belirtin (varsayılan değer TRUE öğesidir).ODBC sürücünüz dinamik kümeleri destekliyorsa ve veri kaynağında dinamik testleri açmak istiyorsanız, imleç kitaplığını kullanmayın (kümeler için gerekli olan bazı sürücü işlevlerini maskeler).Bu durumda CDatabase::useCursorLib öğesini OpenEx öğesinde belirtmeyin veya Open öğesinde bUseCursorLib parametresini FALSE olarak belirtin.

Ayrıca bkz.

Kavramlar

ODBC Basics