Aracılığıyla paylaş


Yer İşareti Türleri

ODBC 3.x'teki tüm yer işaretleri değişken uzunlukta yer işaretleridir. Bu, bir birincil anahtarın veya tabloyla ilişkili benzersiz bir dizinin yer işareti olarak kullanılmasına olanak tanır. Yer işareti, ODBC 2.x'te kullanıldığı gibi 32 bitlik bir değer de olabilir. Bir yer işaretinin imleçle kullanılacağını belirtmek için, ODBC 3.x uygulaması SQL_ATTR_USE_BOOKMARK deyimi özniteliğini SQL_UB_VARIABLE olarak ayarlar. Değişken uzunluktaki bir yer işareti otomatik olarak kullanılır.

Bir uygulama, yer işaretinin uzunluğunu elde etmek için SQLColAttribute işlevini FieldIdentifier bağımsız değişkeni SQL_DESC_OCTET_LENGTH şeklinde ayarlayarak çağırabilir. Değişken uzunluklu yer işareti uzun bir değer olabileceğinden, bir uygulama satır kümesindeki satırların çoğu için yer işaretini kullanmadığı sürece sütun 0'a bağlanmamalıdır.

Sabit uzunlukta yer işaretleri yalnızca geriye dönük uyumluluk için desteklenir. ODBC 3.x sürücüsüyle çalışan bir ODBC 2.x uygulaması, SQL_USE_BOOKMARKS SQL_UB_ON olarak ayarlamak için SQLSetStmtOption'ı çağırırsa, Sürücü Yöneticisi'nde SQL_UB_VARIABLE eşlenir. Yalnızca 32 bit doldurulsa bile değişken uzunlukta yer işareti kullanılır. Sürücü sabit uzunlukta yer işaretlerini destekliyorsa, değişken uzunlukta yer işaretlerini destekler. ODBC 2.x sürücüsüyle çalışan bir ODBC 3.x uygulaması SQL_ATTR_USE_BOOKMARKS SQL_UB_VARIABLE olarak ayarlamak için SQLSetStmtAttr'ı çağırırsa, Sürücü Yöneticisi'nde SQL_UB_ON olarak eşlenir ve 32 bit sabit uzunlukta yer işareti kullanılır. SQL_ATTR_FETCH_BOOKMARK_PTR deyimi özniteliği 32 bit yer işaretine işaret etmelidir. Kullanılan yer işaretleri 32 bitten uzunsa (örneğin, birincil anahtarlar yer işaretleri olarak kullanıldığında), imlecin gerçek değerleri 32 bit değerlerle eşlemesi gerekir. Örneğin, bunların karma tablosunu oluşturabilir. ODBC 2.x sürücüsüyle çalışan bir ODBC 3.x uygulaması bir yer işareti bağladığında arabellek uzunluğu 4 olmalıdır.