SQLGetEnvAttr İşlevi

Uygunluk
Tanıtılan Sürüm: ODBC 3.0 Standartlarına Uyum: ISO 92

Summary
SQLGetEnvAttr , bir ortam özniteliğinin mevcut ayarını döndürür.

Syntax

  
SQLRETURN SQLGetEnvAttr(  
     SQLHENV        EnvironmentHandle,  
     SQLINTEGER     Attribute,  
     SQLPOINTER     ValuePtr,  
     SQLINTEGER     BufferLength,  
     SQLINTEGER *   StringLengthPtr);  

Arguments

EnvironmentHandle
[Giriş] Ortam kontrolü.

Öznitelik
[Giriş] Özniteliği almak için alınıyor.

Valueptr
[Çıkış] Attribute tarafından belirtilen özelliğin mevcut değerini döndürmek için bir tampon işareti.

ValuePtr NULL ise, StringLengthPtr yine de ValuePtr tarafından işaret edilen tamponda döndürülebilecek toplam bayt sayısını (karakter verisi için null-sonlandırma karakteri hariç) döndürecektir.

BufferLength
[Giriş] Eğer ValuePtr bir karakter dizisine işaret ediyorsa, bu argüman *ValuePtr uzunluğu olmalıdır. Eğer *ValuePtr bir tam sayıysa, BufferLength göz ardı edilir. Eğer *ValuePtr bir Unicode dizisi ise ( SQLGetEnvAttrW çağrıldığında), BufferLength argümanı çift sayı olmalıdır. Eğer öznitelik değeri bir karakter dizisi değilse, BufferLength kullanılmaz.

StringLengthPtr
[Çıkış] * ValuePtr'de döndürülebilecek toplam bayt sayısını (null-terminasyon karakteri hariç) döndürmek için bir tampon işaretçisi. Eğer öznitelik değeri bir karakter dizisi ise ve döndürülebilecek bayt sayısı BufferLength'den büyük veya eşitse, *ValuePtr'deki veri BufferLength olarak null-termination karakterinin uzunluğu çıkarılır ve sürücü tarafından null-sonlandırılır.

İadeler

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR ya da SQL_INVALID_HANDLE.

Diagnostics

SQLGetEnvAttr SQL_ERROR veya SQL_SUCCESS_WITH_INFO döndürdüğünde, ilişkili bir SQLSTATE değeri, SQL_HANDLE_ENV HandleType ve EnvironmentHandle ile SQLGetDiagRec çağrılarak elde edilebilir. Aşağıdaki tablo, SQLGetEnvAttr tarafından sıkça duygulanan SQLSTATE değerlerini listeler; "(DM)" gösterimi, Sürücü Yöneticisi tarafından döndürülen SQLSTATE açıklamalarından önce gelir. Aksi belirtilmediği sürece, her SQLSTATE değeriyle ilişkili dönüş kodu SQL_ERROR.

SQLSTATE Error Description
01000 Genel uyarı Sürücüye özgü bilgilendirici ileti. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01004 Dize verileri, sağ kesilmiş *ValuePtr içinde geri dönen veri, null-sonlandırma karakteri çıkarılmış BufferLength olarak kısaltıldı. Kısmamış dizi değerinin uzunluğu *StringLengthPtr'de döner. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
HY000 Genel hata Belirli bir SQLSTATE olmayan ve uygulamaya özgü SQLSTATE tanımlanmayan bir hata oluştu. *MessageText arabelleğinde SQLGetDiagRec tarafından döndürülen hata iletisi, hatayı ve nedenini açıklar.
HY001 Bellek ayırma hatası Sürücü, işlevin yürütülmesini veya tamamlanmasını desteklemek için gereken belleği ayıramadı.
HY010 İşlev dizisi hatası (DM) SQL_ATTR_ODBC_VERSION henüz SQLSetEnvAttr ile ayarlanmadı. SQLAllocHandleStd kullanıyorsanız SQL_ATTR_ODBC_VERSION açıkça ayarlamanıza gerek yok.
HY013 Bellek yönetimi hatası Büyük olasılıkla düşük bellek koşulları nedeniyle, temel alınan bellek nesnelerine erişilemediğinden işlev çağrısı işlenemedi.
HY092 Geçersiz öznitelik/seçenek tanımlayıcısı Argüman Attribute için belirtilen değer, sürücünün desteklediği ODBC sürümü için geçerli değildi.
HY117 Bilinmeyen işlem durumu nedeniyle bağlantı askıya alındı. Yalnızca bağlantıyı kesme ve salt okunur işlevlere izin verilir. (DM) Askıya alınma durumu hakkında daha fazla bilgi için bkz. SQLEndTran İşlevi.
HYC00 İsteğe bağlı özellik uygulanmadı Argüman Attribute için belirtilen değer, sürücünün desteklediği ODBC sürümü için geçerli bir ODBC ortam özniteliğiydi ancak sürücü tarafından desteklenmiyordu.
IM001 Sürücü bu işlevi desteklemiyor (DM) EnvironmentHandle'a karşılık gelen sürücü bu fonksiyonu desteklemez.

Comments

Öznitelikler listesi için SQLSetEnvAttr adresine bakınız. Sürücüye özgü ortam özellikleri yoktur. Attribute bir diziyi döndüren bir öznitelik belirtirse, ValuePtr diziyi döndürmek için bir tampon işareti olmalıdır. Dizinin maksimum uzunluğu, null-terminasyon baytı dahil, BufferLength baytları olacaktır.

SQLGetEnvAttr , bir ortam tutamacının tahsisi ile serbest bırakılması arasında herhangi bir zamanda çağrılabilir. Uygulama tarafından çevre için başarıyla belirlenen tüm ortam özellikleri, SQLFreeHandleHandleHandle üzerinde EnvironmentHandle ile çağrılana kadar SQL_HANDLE_ENV HandleType ile devam eder. ODBC 3*.x*'de birden fazla ortam tutamacı aynı anda tahsis edilebilir. Bir ortamdaki bir ortam özniteliği, başka bir ortam tahsis edildiğinde etkilenmez.

Note

SQL_ATTR_OUTPUT_NTS ortam özniteliği, standartlara uygun uygulamalar tarafından desteklenir. SQLGetEnvAttr çağrıldığında, ODBC 3*.x* Sürücü Yöneticisi her zaman bu öznitelik için SQL_TRUE döndürür. SQL_ATTR_OUTPUT_NTS yalnızca SQLSetEnvAttr çağrısıyla SQL_TRUE olarak ayarlanabilir.

Hakkında bilgi için Bkz:
Bağlantı özniteliğinin ayarını döndürme SQLGetConnectAttr İşlevi
Deyim özniteliğinin ayarını döndürme SQLGetStmtAttr İşlevi
Bağlantı özelliği ayarı SQLSetConnectAttr İşlevi
Bir ortam özniteliği ayarlama SQLSetEnvAttr Function
Deyim özniteliğini ayarlama SQLSetStmtAttr İşlevi