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.
Uygunluk
Tanıtılan Sürüm: ODBC 2.0 Standartlara Uyum: ODBC
Summary
SQLDrivers sürücü açıklamalarını ve sürücü özniteliği anahtar kelimelerini listeler. Bu fonksiyon yalnızca Driver Manager tarafından uygulanır.
Syntax
SQLRETURN SQLDrivers(
SQLHENV EnvironmentHandle,
SQLUSMALLINT Direction,
SQLCHAR * DriverDescription,
SQLSMALLINT BufferLength1,
SQLSMALLINT * DescriptionLengthPtr,
SQLCHAR * DriverAttributes,
SQLSMALLINT BufferLength2,
SQLSMALLINT * AttributesLengthPtr);
Arguments
EnvironmentHandle
[Giriş] Ortam kontrolü.
Yön
[Giriş] Sürücü Yöneticisi'nin listedeki bir sonraki sürücü tanımını mı getireceğini (SQL_FETCH_NEXT) veya aramanın listenin başından mı başladığını (SQL_FETCH_FIRST) belirler.
DriverDescription
[Çıkış] Sürücü tanımını döndürmek için bir tampon işareti.
DriverDescription NULL ise, DescriptionLengthPtr yine de DriverDescription tarafından işaret edilen tamponda döndürülebilecek toplam karakter sayısını (karakter verisi için null-sonlandırma karakteri hariç) döndürecektir.
BufferLength1
[Giriş] *DriverDescription buffer'ının uzunluğu, karakter cinsinden.
AçıklamaUzunlukPtr
[Çıkış] *DriverDescription'da döndürülebilecek toplam karakter sayısını (null-sonlandırma karakteri hariç) döndürmek için bir tampon işareti. Eğer döndürülebilecek karakter sayısı BufferLength1'den büyük veya eşitse, *DriverDescription'daki sürücü açıklaması BufferLength1'e kısaltılır ve null-sonlandırma karakterinin uzunluğu çıkarılır.
DriverAttributes
[Çıkış] Sürücü öznitelik değer çiftlerinin listesini döndürmek için bir tampon işareti (bkz. "Yorumlar").
DriverAttributes NULL ise, AttributesLengthPtr yine de DriverAttributes tarafından işaret edilen tamponda döndürülebilecek toplam bayt sayısını (karakter verisi için null-termination karakteri hariç) döndürecektir.
BufferLength2
[Giriş] *DriverAttributes tamponunun uzunluğu, karakter cinsinden.
*DriverDescription değeri bir Unicode dizisi ise (SQLDriversW çağrıldığında), BufferLength argümanı çift sayı olmalıdır.
AttributesLengthPtr
[Çıkış] *DriverAttributes'ta döndürülebilecek toplam bayt sayısını (null-termination baytı hariç) döndürmek için bir tampon işaretçisi. Eğer döndürülebilecek bayt sayısı BufferLength2'den büyük veya eşitse, *DriverAttributes'taki özellik değer çiftlerinin listesi BufferLength2'ye kısaltılır ve null-sonlandırma karakterinin uzunluğu çıkarılır.
İadeler
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR ya da SQL_INVALID_HANDLE.
Diagnostics
SQLDrivers SQL_ERROR veya SQL_SUCCESS_WITH_INFO döndürdüğünde, ilişkili bir SQLSTATE değeri alınabilir; bu değer SQLGetDiagRec çağrılarak SQL_HANDLE_ENV HandleType ve EnvironmentHandleHandle'ı ile elde edilebilir. Aşağıdaki tablo, genellikle SQLDrivers tarafından döndürülen SQLSTATE değerlerini listeler ve her birini bu fonksiyon bağlamında açıklar; "(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ı | (DM) Sürücü Müdürü'ne özel bilgilendirici mesaj. (İşlev SQL_SUCCESS_WITH_INFO döndürür.) |
| 01004 | Dize verileri, sağ kesilmiş | (DM) *DriverDescription tamponu tam sürücü açıklamasını geri döndürecek kadar büyük değildi. Bu nedenle, açıklama kısaltıldı. Tam sürücü tanımının uzunluğu *DescriptionLengthPtr. (İşlev SQL_SUCCESS_WITH_INFO döndürür.) (DM) *DriverAttributes tamponu öznitelik değer çiftlerinin tam listesini döndürecek kadar büyük değildi. Bu nedenle liste kısaltıldı. Kıstırılmamış öznitelik değer çiftleri listesinin uzunluğu *AttributesLengthPtr. (İş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ı | (DM) Sürücü Yöneticisi, işlevin yürütülmesini veya tamamlanmasını desteklemek için gerekli belleği ayıramadı. |
| HY010 | İşlev dizisi hatası | (DM) SQLExecute, SQLExecDirect veya SQLMoreResults, StatementHandle için çağrıldı ve SQL_PARAM_DATA_AVAILABLE döndürdü. Bu işlev, tüm akış parametreleri için veri alınmadan önce çağrıldı. |
| 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. |
| HY090 | Geçersiz dize veya arabellek uzunluğu | (DM) BufferLength1 argümanı için belirtilen değer 0'dan küçüktü. (DM) BufferLength2 argümanı için belirtilen değer 0'dan az veya 1'e eşitti. |
| HY103 | Geçersiz erişim kodu | (DM) Yön argümanı için belirtilen değer SQL_FETCH_FIRST veya SQL_FETCH_NEXT'a eşit 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. |
Comments
SQLDrivers, *DriverDescription buffer'da sürücü tanımını döndürür. *DriverAttributes tamponunda sürücü hakkında ek bilgiyi anahtar kelime-değer çiftlerinin listesi olarak döndürür. Sistem sürücü bilgilerinde listelenen tüm anahtar kelimeler, veri kaynaklarının oluşturulmasını istemek için kullanılan ve bu nedenle isteğe bağlı olan CreateDSN hariç tüm sürücüler için geri gönderilecektir. Her çift bir null bayt ile sonlanır ve tam liste bir null byte ile sonlanır (yani, iki null bayt listenin sonunu işaret eder). Örneğin, C sözdizimi kullanan dosya tabanlı bir sürücü aşağıdaki öznitelik listesini döndürebilir ("\0" bir null karakteri temsil eder):
FileUsage=1\0FileExtns=*.dbf\0\0
*DriverAttributes tüm listeyi tutacak kadar büyük değilse, liste kısaltılır, SQLDrivers SQLSTATE 01004 (Veri kısaltılmış) döndürür ve listenin uzunluğu (son null-termination baytı hariç) *AttributesLengthPtr'de döner.
Sürücü özellik anahtar kelimeleri, sürücü yüklendiğinde sistem bilgisinden eklenir. Daha fazla bilgi için ODBC Bileşenlerinin Kurulumu bölümünü inceleyebilirsiniz.
Bir uygulama, tüm sürücü açıklamalarını almak için SQLDrivers'i birden fazla kez çağırabilir. Sürücü Yöneticisi bu bilgileri sistem bilgilerinden alır. Artık sürücü açıklaması kalmadığında, SQLDrivers SQL_NO_DATA döner. Eğer SQLDrivers SQL_NO_DATA döndürdükten hemen sonra SQL_FETCH_NEXT ile çağrılırsa, ilk sürücü açıklamasını döndürür. Bir uygulamanın SQLDrivers tarafından gönderilen bilgileri nasıl kullandığına dair bilgi için Bir Veri Kaynağı veya Sürücü Seçme bölümüne bakınız.
Eğer SQL_FETCH_NEXT ilk çağrıldığında SQLDrivers'a iletilirse, SQLDrivers ilk veri kaynağı adını döndürür.
SQLDrivers, Driver Manager'da uygulandığı için, belirli bir sürücünün standartlarına uymasından bağımsız olarak tüm sürücüler için desteklenir.
İlgili Fonksiyonlar
| Hakkında bilgi için | Bkz: |
|---|---|
| Bir veri kaynağına bağlanmak için gereken değerleri keşfetmek ve listelemek | SQLBrowseConnect Fonksiyonu |
| Veri kaynağına bağlanma | SQLConnect İşlevi |
| Veri kaynağı isimlerini döndürmek | SQLDataSources Fonksiyonu |
| Bir bağlantı dizesi veya diyalog kutusu kullanarak bir veri kaynağına bağlanmak | SQLDriverConnect İşlevi |