SQLSetConnectAttrForDbcInfo İşlevi

Uygunluk
Tanıtılan Sürüm: ODBC 3.81 Standartlara Uyum: ODBC

Summary
SQLSetConnectAttrForDbcInfo ile aynıdır, ancak özniteliği bağlantı kolu yerine bağlantı bilgisi belirteci üzerinde belirler.

Syntax

  
SQLRETURN  SQLSetConnectAttrForDbcInfo(  
                SQLHDBC_INFO_TOKEN    hDbcInfoToken,  
                SQLINTEGER            Attribute,  
                SQLPOINTER            ValuePtr,  
                SQLINTEGER            StringLength );  

Arguments

hDbcInfoToken
[Giriş] Token sapı.

Öznitelik
[Giriş] Setin özetnitesi. Geçerli öznitelikler listesi sürücüye bağlıdır ve SQLSetConnectAttr ile aynıdır.

Valueptr
[Giriş] Öznitelik ile ilişkilendirilecek değere işaret edin. Özniteliğin değerine bağlı olarak, ValuePtr 32 bitlik imzasız bir tam sayı değeri olur veya null-sonlu bir karakter dizisine işaret eder. Özellik argümanı sürücüye özgü bir değerse, ValuePtr'deki değerin imzalı bir tam sayı olabileceğini unutmayın.

StringLength
[Giriş] Eğer Attribute ODBC tarafından tanımlanmış bir öznitelikse ve ValuePtr bir karakter dizisine veya ikili tampona işaret ediyorsa, bu argüman *ValuePtr uzunluğu olmalıdır. Karakter dizisi verileri için, bu argüman dizide bayt sayısını içermelidir.

Attribute ODBC ile tanımlanmış bir öznitelikse ve ValuePtr bir tam sayıysa, StringLength göz ardı edilir.

Eğer Attribute sürücü tarafından tanımlanan bir öznitelikse, uygulama StringLength argümanını ayarlayarak Driver Manager'a özniteliğin niteliğini gösterir. StringLength aşağıdaki değerlere sahip olabilir:

  • Eğer ValuePtr bir karakter dizisine işaret eden bir işaret ise, StringLength dizinin veya SQL_NTS'nin uzunluğudur.

  • Eğer ValuePtr ikili tampona işaret eden bir işaretçiyse, uygulama SQL_LEN_BINARY_ATTR(uzunluk) makrosunun sonucunu StringLength'e yerleştirir. Bu, StringLength değerinde negatif bir değer verir.

  • Eğer ValuePtr, karakter dizisi veya ikili bir dizi dışındaki bir değere işaret ediyorsa, StringLength SQL_IS_POINTER değerine sahip olmalıdır.

  • Eğer ValuePtr sabit uzunluklu bir değer içeriyorsa, StringLength uygun şekilde ya SQL_IS_INTEGER ya da SQL_IS_UINTEGER olur.

İadeler

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR veya SQL_INVALID_HANDLE.

Diagnostics

SQLSetConnectAttr ile aynı, ancak Sürücü Yöneticisi SQL_HANDLE_DBC_INFO_TOKEN HandleType ve hDbcInfoTokenHandle kullanır.

Remarks

SQLSetConnectAttrForDbcInfo ile aynıdır, ancak özniteliği bağlantı kolunda değil, bağlantı bilgi belirtecinde belirler. Örneğin, SQLSetConnectAttr bir özniteliği tanımıyorsa, SQLSetConnectAttrForDbcInfo da o öznitelik için SQL_ERROR döndürmelidir.

Sürücü SQL_ERROR veya SQL_INVALID_HANDLE döndürdüğünde, sürücü havuz kimliğini hesaplamak için bu özniteliği görmezden gelmelidir. Ayrıca, Sürücü Yöneticisi tanı bilgilerini hDbcInfoToken'dan alır ve SQL_SUCCESS_WITH_INFO SQLConnect ile SQLDriverConnect ile uygulamaya geri gönderir. Bu nedenle, bir uygulama bazı niteliklerin neden ayarlanamadığına dair ayrıntıları elde edebilir.

Uygulamalar bu fonksiyonu doğrudan çağırmamalıdır. Sürücüye duyarlı bağlantı havuzunu destekleyen bir ODBC sürücüsü bu fonksiyonu uygulamalıdır.

ODBC sürücü geliştirme için sqlspi.h ekleyin.