Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulama ile sürücü arasında veri aktarmak için kullanılan herhangi bir uygulama belleği parçası bir arabelliktir. Örneğin, uygulama arabellekleri SQLBindCol ile sonuç kümesi sütunlarıyla ilişkilendirilebilir veya bunlarla ilişkilendirilebilir. Her satır getirildiğinde, bu arabelleklerdeki her sütun için veriler döndürülür. Giriş arabellekleri , uygulamadan sürücüye veri geçirmek için kullanılır; çıkış arabellekleri , sürücüden uygulamaya veri döndürmek için kullanılır.
Uyarı
ODBC işlevi SQL_ERROR döndürürse, bu işleve yönelik çıkış bağımsız değişkenlerinin içeriği tanımlanmamış olur.
Bu tartışma öncelikle belirsiz türdeki arabelleklerle ilgilidir. Bu arabelleklerin adresleri, SQLBindCol içindeki TargetValuePtr bağımsız değişkeni gibi SQLPOINTER türünde bağımsız değişkenler olarak görünür. Ancak, arabelleklerle kullanılan bağımsız değişkenler gibi burada ele alınan bazı öğeler, dizeleri sürücüye geçirmek için kullanılan bağımsız değişkenlere de uygulanır, örneğin TableName bağımsız değişkeni SQLTables'da.
Bu arabellekler genellikle çift olarak gelir. Veri arabellekleri verilerin kendisini geçirmek için kullanılırken, veri arabelleğindeki verilerin uzunluğunu veya verilerin NULL olduğunu belirten SQL_NULL_DATA gibi özel bir değeri geçirmek için uzunluk/gösterge arabellekleri kullanılır. Veri arabelleğindeki verilerin uzunluğu, veri arabelleğinin kendisinden farklıdır. Aşağıdaki çizimde veri arabelleği ile uzunluk/gösterge arabelleği arasındaki ilişki gösterilmektedir.
Veri arabelleği karakter veya ikili veri gibi değişken uzunlukta veriler içerdiğinde uzunluk/gösterge arabelleği gereklidir. Veri arabelleği tamsayı veya tarih yapısı gibi sabit uzunlukta veriler içeriyorsa, verilerin uzunluğu zaten bilindiğinden, yalnızca gösterge değerlerini geçirmek için uzunluk/gösterge arabelleği gerekir. Bir uygulama sabit uzunluklu veri içeren bir gösterge/uzunluk arabelleği kullanıyorsa, sürücü ona verilen uzunlukları yoksayar.
Hem veri arabelleğinin hem de içerdiği verilerin uzunluğu, karakterler yerine bayt cinsinden ölçülür. Bayt ve karakter uzunlukları aynı olduğundan ansi dizeleri kullanan programlar için bu ayrım önemli değildir.
Veri arabelleği sürücü tanımlı bir tanımlayıcı alanını, tanılama alanını veya özniteliğini temsil ettiğinde, uygulama Driver Manager'a alan veya özniteliğin değerini gösteren işlev bağımsız değişkeninin niteliğini göstermelidir. Uygulama bunu, alan veya özniteliği aşağıdaki değerlerden birine ayarlayan herhangi bir işlev çağrısında uzunluk bağımsız değişkenini ayarlayarak yapar. (Aynı durum, alan veya özniteliğin değerlerini alan işlevler için de geçerlidir; ancak ayar işlevi için bağımsız değişkenin kendisinde yer alan değerlere işaret eden bağımsız değişkenin aksine, bu işlevde bağımsız değişkenin kendisindeki değerlere işaret edilir.)
Fonksiyon argümanı alan veya özniteliğin değerini göstermek için bir karakter dizesinin işaretçisiyse, uzunluk argümanı dizenin uzunluğu ya da SQL_NTS olur.
Alan veya özniteliğin değerini gösteren işlev bağımsız değişkeni, ikili bir arabelleğe yönelik bir işaretçi ise, uygulama SQL_LEN_BINARY_ATTR(uzunluk) makrosunun sonucunu uzunluk bağımsız değişkenine yerleştirir. Bu, uzunluk bağımsız değişkenine negatif bir değer yerleştirir.
Alan veya özniteliğin değerini gösteren işlev bağımsız değişkeni karakter dizesi veya ikili dize dışında bir değerin işaretçisiyse , uzunluk bağımsız değişkeninin değeri SQL_IS_POINTER olmalıdır.
Alan veya özniteliğin değerini gösteren işlev bağımsız değişkeni sabit uzunluklu bir değer içeriyorsa, uzunluk bağımsız değişkeni uygun şekilde SQL_IS_INTEGER, SQL_IS_UINTEGER, SQL_IS_SMALLINT veya SQL_ISI_USMALLINT olur.
Bu bölüm aşağıdaki konuları içerir.