SQLExecute İşlevi

Uygunluk
Kullanıma Sunulan Sürüm: ODBC 1.0 Standartları Uyumluluğu: ISO 92

Özet
SQLExecute , eğer herhangi bir parametre işaretçisi varsa, parametre belirteci değişkenlerinin güncel değerlerini kullanarak hazırlanmış bir ifadeyi çalıştırır.

Syntax

  
SQLRETURN SQLExecute(  
     SQLHSTMT     StatementHandle);  

Arguments

StatementHandle
[Giriş] Deyim tanıtıcısı.

İadeler

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NEED_DATA, SQL_STILL_EXECUTING, SQL_ERROR, SQL_NO_DATA, SQL_INVALID_HANDLE veya SQL_PARAM_DATA_AVAILABLE.

Diagnostics

SQLExecute SQL_ERROR veya SQL_SUCCESS_WITH_INFO döndürdüğünde, ilişkili bir SQLSTATE değeri SQLGetDiagRec çağrılarak SQL_HANDLE_STMT HandleType ve HandleHandle ile elde edilebilir. Aşağıdaki tablo, SQLExecute tarafından sıkça duygulanan 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ı Sürücüye özgü bilgilendirici ileti. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01001 İmleç işlemi çakışması StatementHandle ile ilişkili hazırlanan ifade konumlanmış güncelleme veya silme ifadesi içeriyordu ve satır veya birden fazla satır güncellenmedi veya silindi. (Birden fazla satıra yapılan güncelleştirmeler hakkında daha fazla bilgi için SQLSetStmtAttr içindeki SQL_ATTR_SIMULATE_CURSOR Özniteliğinin açıklamasına bakın.)

(İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01003 Küme işlevinde null değer ortadan kaldırıldı StatementHandle ile ilişkili hazırlanan ifade bir küme fonksiyonu (örneğin AVG, MAX, MIN vb.) içeriyordu, ancak COUNT küme fonksiyonu yoktu ve NULL argüman değerleri fonksiyon uygulanmadan önce ortadan kaldırıldı. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01004 Dize verileri, sağ kesilmiş Bir çıkış parametresi için dönerken, boş karakter veya NULL olmayan ikili verilerin kesilmesine yol açar. Bir dize değeriyse, sağ kesilmiştir. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01006 Ayrıcalık iptal edilmiyor StatementHandle ile ilişkilendirilen hazırlanmış ifade bir REVOKE ifadeydi ve kullanıcı belirtilen ayrıcalığa sahip değildi. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01007 Ayrıcalık verilmedi StatementHandle ile ilişkilendirilen hazırlanmış ifade bir GRANT ifadeydi ve kullanıcıya belirtilen ayrıcalık verilemiyordu.
01S02 Seçenek değeri değiştirildi Uygulama çalışma koşulları nedeniyle belirtilen deyim özniteliği geçersizdi, bu nedenle benzer bir değer geçici olarak değiştirildi. (Geçici olarak değiştirilen değerin ne olduğunu belirlemek için SQLGetStmtAttr çağrılabilir.) İkinci değer, imleç kapatılana kadar StatementHandle için geçerlidir ve bu noktada deyim özniteliği önceki değerine geri döner. Değiştirilebilecek ifade özellikleri şunlardır: SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_KEYSET_SIZE, SQL_ATTR_MAX_LENGTH, SQL_ATTR_MAX_ROWS, SQL_ATTR_QUERY_TIMEOUT ve SQL_ATTR_SIMULATE_CURSOR. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
01S07 Kesirli kesme Bir giriş/çıkış veya çıkış parametresi için döndürülen veriler, sayısal veri türünün kesirli kısmı kesilecek veya bir zaman, zaman damgası veya aralık veri türünün zaman bileşeninin kesirli kısmı kesilecek şekilde kesildi.

(İşlev SQL_SUCCESS_WITH_INFO döndürür.)
07002 COUNT alanı yanlış SQLBindParameter'da belirtilen parametre sayısı, *StatementText içinde yer alan SQL deyimindeki parametre sayısından azdı.

SQLBindParameter , ParameterValuePtr null işaretçi olarak ayarlanmış , StrLen_or_IndPtr SQL_NULL_DATA veya SQL_DATA_AT_EXEC olarak ayarlanmamış ve InputOutputType SQL_PARAM_OUTPUT olarak ayarlanmadığından , SQLBindParameter'da belirtilen parametre sayısı *StatementText içinde yer alan SQL deyimindeki parametre sayısından daha fazlaydı.
07006 Kısıtlanmış veri türü özniteliği ihlali İlişkili parametre için SQLBindParameter'daki ValueType bağımsız değişkeni tarafından tanımlanan veri değeri , SQLBindParameter'dakiParameterType bağımsız değişkeni tarafından tanımlanan veri türüne dönüştürülemedi.

SQL_PARAM_INPUT_OUTPUT veya SQL_PARAM_OUTPUT olarak bağlanan bir parametre için döndürülen veri değeri, SQLBindParameter'dakiValueType bağımsız değişkeni tarafından tanımlanan veri türüne dönüştürülemedi.

(Bir veya daha fazla satırın veri değerleri dönüştürülemediyse ancak bir veya daha fazla satır başarıyla döndürüldüyse, bu işlev SQL_SUCCESS_WITH_INFO döndürür.)
07007 Kısıtlanmış parametre değeri ihlali SQL_PARAM_INPUT_OUTPUT_STREAM parametre türü yalnızca parçalar halinde veri gönderen ve alan bir parametre için kullanılır. Bu parametre türü için giriş bağlı arabelleğe izin verilmez.

Parametre türü SQL_PARAM_INPUT_OUTPUT olduğunda ve SQLBindParameter'da belirtilen *StrLen_or_IndPtr SQL_NULL_DATA, SQL_DEFAULT_PARAM, SQL_LEN_DATA_AT_EXEC(uzunluk) veya SQL_DATA_AT_EXEC eşit olmadığında bu hata oluşur.
07S01 Varsayılan parametrenin geçersiz kullanımı SQLBindParameter ile belirlenen bir parametre değeri SQL_DEFAULT_PARAM ve karşılık gelen parametre ODBC kanonik prosedür çağrısı için bir parametre değildi.
08S01 İletişim bağlantısı hatası sürücü ile sürücünün bağlandığı veri kaynağı arasındaki iletişim bağlantısı, işlev işlenmeden önce başarısız oldu.
21S02 Türetilmiş tablonun derecesi sütun listesiyle eşleşmiyor StatementHandle ile ilişkili hazırlanmış ifade bir CREATE VIEW ifade içeriyordu ve niteliksiz sütun listesi (SQL ifadesinin sütun-tanımlayıcı argümanlarında görünüm için belirtilen sütun sayısı), SQL ifadesinin sorgu-spesifikasyon argümanı tarafından tanımlanan türev tablodaki sütun sayısından daha fazla isim içeriyordu.
22001 Dize verileri, sağ kesme Bir karakter veya ikili değerin bir sütuna atanması, boş (karakter) veya null olmayan (ikili) karakterlerin veya baytların kesilmesine yol açardı.
22002 Gösterge değişkeni gerekli ancak sağlanmadı NULL veriler, SQLBindParameter tarafından ayarlanan StrLen_or_IndPtr null işaretçisi olan bir çıkış parametresine bağlıydı.
22003 Sayısal değer aralık dışında StatementHandle ile ilişkilendirilen hazırlanan ifade, sınırlı sayısal parametre içeriyordu ve parametre değeri, ilgili tablo sütununa atandığında sayının tamamının (kesirli değil) kısmının kesilmesine neden olurdu.

Bir veya daha fazla giriş/çıkış veya çıkış parametresi için sayısal bir değer (sayısal veya dize olarak) döndürülmek, sayının tamamının (kesirlinin aksine) kesilmesine neden olabilir.
22007 Geçersiz tarih saat biçimi StatementHandle ile ilişkili hazırlanan ifade, sınırlı parametre olarak tarih, saat veya zaman damgası yapısı içeren bir SQL ifadesi içeriyordu ve parametre sırasıyla geçersiz bir tarih, saat veya zaman damgasıydı.

Giriş/çıkış veya çıkış parametresi bir tarih, saat veya zaman damgası C yapısına bağlıydı ve döndürülen parametredeki bir değer sırasıyla geçersiz bir tarih, saat veya zaman damgasıydı. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
22008 Tarih saat alanı taşması StatementHandle ile ilişkili hazırlanan ifade, hesaplandığında tarih, saat veya zaman damgası yapısı geçersiz olan bir tarih ve saat ifadesi içeren bir SQL ifadesi içeriyordu.

Giriş/çıkış veya çıkış parametresi için hesaplanan datetime ifadesi geçersiz olan bir tarih, saat veya zaman damgası C yapısıyla sonuçlandı.
22012 Sıfıra bölme StatementHandle ile ilişkili hazırlanan ifade, sıfıra bölünmeye neden olan aritmetik bir ifade içeriyordu.

Giriş/çıkış veya çıkış parametresi için hesaplanan aritmetik ifade sıfıra bölünmesine neden oldu.
22015 Aralık alanı taşması *StatementText , bir aralık SQL veri türüne dönüştürüldüğünde önemli basamak kaybına neden olan tam bir sayısal veya aralık parametresi içeriyordu.

*StatementText , bir sütundaki sayısal veri türüne dönüştürüldüğünde sayısal veri türünde gösterimi olmayan birden fazla alanı olan bir aralık parametresi içeriyordu.

*StatementText , bir aralık SQL türüne atanan parametre verilerini içeriyordu ve aralık SQL türünde C türünün değerinin gösterimi yoktu.

Tam bir sayısal veya aralık SQL türü olan bir giriş/çıkış veya çıkış parametresinin C aralığı türüne atanarak önemli basamak kaybına neden oldu.

C aralığı yapısına bir giriş/çıkış veya çıkış parametresi atandığında, aralık veri yapısında verilerin gösterimi yoktu.
22018 Atama belirtimi için geçersiz karakter değeri *StatementText tam veya yaklaşık sayısal, tarih saat veya aralık veri türü olan bir C türü içeriyordu; sütunun SQL türü bir karakter veri türü idi; ve sütundaki değer, ilişkili C türünün geçerli bir değişmez değeri değildi.

Bir giriş/çıkış veya çıkış parametresi döndürülürken, SQL türü tam veya yaklaşık bir sayısal, tarih saat veya aralık veri türü; C türü SQL_C_CHAR; ve sütundaki değer, ilişkili SQL türünün geçerli bir değişmez değeri değildi.
22019 Geçersiz çıkış karakteri StatementHandle ile ilişkili hazırlanmış ifade, WHERE cümlesinde ESCAPE ile LIKE bir önlem içeriyordu ve ESCAPE'den sonraki kaçış karakterinin uzunluğu 1'e eşit değildi.
22025 Geçersiz çıkış sırası StatementHandle ile ilişkili hazırlanmış ifade, WHERE maddesinde "LIKEpattern valueESCAPEescape karakter" içeriyordu ve desen değerindeki escape karakterinden sonraki karakter "%" veya "_" karakterlerinden biri değildi.
23000 Bütünlük kısıtlaması ihlali StatementHandle ile ilişkili hazırlanmış ifade bir parametre içeriyordu. parametre değeri, ilişkili tablo sütununda NOT NULL olarak tanımlanan bir sütun için NULL idi, yalnızca benzersiz değerler içermesi kısıtlanmış bir sütun için yinelenen bir değer sağlandı veya başka bir bütünlük kısıtlaması ihlal edildi.
24000 Geçersiz imleç durumu SQLFetch veya SQLFetchScroll tarafından StatementHandle üzerinde bir imleç konumlandırıldı. BU hata, SQLFetch veya SQLFetchScroll SQL_NO_DATA döndürmediyse Sürücü Yöneticisi tarafından döndürülür ve SQLFetch veya SQLFetchScroll SQL_NO_DATA döndürdüyse sürücü tarafından döndürülür.

StatementHandle'da bir imleç açıktı.

StatementHandle ile ilişkili hazırlanmış ifade, konumlanmış bir güncelleme veya silme ifadesi içeriyordu ve imleç sonuç setinin başlangıcından önce veya sonuç setinin bitmesinden sonra konumlandırıldı.
40001 Serileştirme hatası Başka bir işlemle kaynak kilitlenmesi nedeniyle işlem geri alındı.
40003 Deyim tamamlama bilinmiyor İlişkili bağlantı bu işlevin yürütülmesi sırasında başarısız oldu ve işlemin durumu belirlenemiyor.
42000 Söz dizimi hatası veya erişim ihlali Kullanıcı, StatementHandle ile ilişkili hazırlanmış ifadeyi çalıştırma iznine sahip değildi.
44000 CHECK OPTION ihlali ILE StatementHandleINSERT ile ilişkili hazırlanmış ibildirim, görüntülenen bir tabloda veya WITH CHECK OPTION'u belirterek oluşturulan bir tabloda yapılan bir ifade içeriyordu; böylece ifadeden INSERT etkilenen bir veya daha fazla satır artık görüntülenen tabloda bulunmayacaktı.

StatementHandleUPDATE ile ilişkili hazırlanmış ibildirim, görüntülenen bir tabloda veya görüntülenen tablodan türetilen ve WITH CHECK OPTION'u belirterek oluşturulan bir tabloda yapılan bir ifade içeriyordu; böylece ifadeden UPDATE etkilenen bir veya daha fazla satır artık görüntülenen tabloda bulunmaz.
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ı.
HY008 İşlem iptal edildi StatementHandle için zaman uyumsuz işleme etkinleştirildi. İşlev çağrıldı ve yürütme tamamlanmadan önce StatementHandle üzerinde SQLCancel veya SQLCancelHandle çağrıldı. Ardından işlev StatementHandle üzerinde yeniden çağrıldı.

İşlev çağrıldı ve yürütme tamamlanmadan önce, çok iş parçacıklı bir uygulamadaki farklı bir iş parçacığından StatementHandle üzerinde SQLCancel veya SQLCancelHandle çağrıldı.
HY010 İşlev dizisi hatası (DM) StatementHandle ile ilişkili bağlantı tanıtıcısı için zaman uyumsuz olarak yürütülen bir işlev çağrıldı. Bu asenkron fonksiyon, SQLExecute fonksiyonu çağrıldığında hâlâ çalışıyordu.

(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ı.

(DM) StatementHandle için zaman uyumsuz olarak yürütülen bir işlev (bu işlev değil) çağrıldı ve bu işlev çağrıldığında hala yürütülüyordu.

(DM) SQLExecute, SQLExecDirect, SQLBulkOperations veya SQLSetPos, StatementHandle için çağrıldı ve SQL_NEED_DATA döndürdü. Bu işlev, tüm yürütme sırasında veri parametreleri veya sütunları için veri gönderilmeden önce çağrıldı.

(DM) StatementHandle hazırlanmamıştı.
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 SQLBindParameter ile ayarlanan parametre değeri null bir işaretçiydi ve parametre uzunluğu değeri 0, SQL_NULL_DATA, SQL_DATA_AT_EXEC, SQL_DEFAULT_PARAM veya SQL_LEN_DATA_AT_EXEC_OFFSET küçük veya buna eşit değildi.

SQLBindParameter ile ayarlanan bir parametre değeri null işaretçi değildi; C veri tipi SQL_C_BINARY veya SQL_C_CHAR idi; ve parametre uzunluğu değeri 0'dan küçüktü ancak SQL_NTS, SQL_NULL_DATA, SQL_DEFAULT_PARAM veya SQL_DATA_AT_EXEC ya da SQL_LEN_DATA_AT_EXEC_OFFSET'den az veya eşit değildi.

SQLBindParameter tarafından bağlanan parametre uzunluğu değeri SQL_DATA_AT_EXEC olarak ayarlandı; SQL türü SQL_LONGVARCHAR, SQL_LONGVARBINARY veya uzun bir veri kaynağına özgü veri türü; ve SQLGetInfo'daki SQL_NEED_LONG_DATA_LEN bilgi türü "Y" idi.
HY105 Geçersiz parametre türü SQLBindParameter'daInputOutputType bağımsız değişkeni için belirtilen değer SQL_PARAM_OUTPUT ve parametre bir giriş parametresiydi.
HY109 Geçersiz imleç konumu Hazırlanan ifade konumlanmış güncelleme veya silme ifadesiydi ve imleç ( SQLSetPos veya SQLFetchScroll tarafından) silinmiş veya alınamayan bir satıra yerleştiriliyordu.
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ı SQL_ATTR_CONCURRENCY ve SQL_ATTR_CURSOR_TYPE deyimi özniteliklerinin geçerli ayarlarının birleşimi sürücü veya veri kaynağı tarafından desteklenmiyordu.

SQL_ATTR_USE_BOOKMARKS deyimi özniteliği SQL_UB_VARIABLE olarak, SQL_ATTR_CURSOR_TYPE deyimi özniteliği ise sürücünün yer işaretlerini desteklemediği bir imleç türüne ayarlandı.
HYT00 Zaman aşımı süresi doldu Veri kaynağı sonuç kümesini döndürmeden önce sorgu zaman aşımı süresi doldu. Zaman aşımı süresi SQLSetStmtAttr, SQL_ATTR_QUERY_TIMEOUT aracılığıyla ayarlanır.
HYT01 Bağlantı zaman aşımı süresi doldu Veri kaynağı isteği yanıtlamadan önce bağlantı zaman aşımı süresi doldu. Bağlantı zaman aşımı süresi SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT aracılığıyla ayarlanır.
IM001 Sürücü bu işlevi desteklemiyor (DM) StatementHandle ile ilişkili sürücü işlevi desteklemiyor.
IM017 Yoklama zaman uyumsuz bildirim modunda devre dışı bırakıldı Bildirim modeli her kullanıldığında yoklama devre dışı bırakılır.
IM018 SQLCompleteAsync , bu tanıtıcıda önceki zaman uyumsuz işlemi tamamlamak için çağrılmadı. Tanıtıcıdaki önceki işlev çağrısı SQL_STILL_EXECUTING döndürüyorsa ve bildirim modu etkinleştirildiyse, son işlemeyi yapmak ve işlemi tamamlamak için tanıtıcıda SQLCompleteAsync çağrılmalıdır.

SQLExecute , veri kaynağının ifadeyle ilişkili SQL ifadesini ne zaman değerlendirdiğine bağlı olarak SQLPrepare tarafından döndürülebilecek herhangi bir SQLSTATE'i döndürebilir.

Comments

SQLExecuteSQLPrepare tarafından hazırlanmış bir ifadeyi çalıştırır. Uygulama SQLExecute'a yapılan çağrıdan elde edilen sonuçları işledikten veya sildikten sonra, uygulama yeni parametre değerleriyle tekrar SQLExecute çağırabilir. Hazırlıklı infaz hakkında daha fazla bilgi için Hazırlıklı İdam bölümüne bakınız.

Bir SELECT ifadesini birden fazla kez çalıştırmak için, uygulama SELECT ifadesini yeniden çalıştırmadan önce SQLCloseCursor'u çağırmalıdır.

Veri kaynağı manuel commit modundaysa (açık işlem başlatımı gerektiriyorsa) ve işlem henüz başlatılmamışsa, sürücü SQL ifadesini göndermeden önce bir işlem başlatır. Daha fazla bilgi için bkz. İşlemler.

Bir uygulama hazırlamak için SQLPrepare ve COMMIT veya ROLLBACKifadesi göndermek için SQLExecute kullanırsa, DBMS ürünleri arasında birlikte çalışabilir olmaz. Bir işlemi işlemek veya geri almak için SQLEndTran'ı çağırin.

Eğer SQLExecute bir data-an-execut parametresiyle karşılaşırsa, SQL_NEED_DATA döndürür. Uygulama, verileri SQLParamData ve SQLPutData kullanarak gönderir. Bkz . SQLBindParameter, SQLParamData, SQLPutData ve Gönderme Uzun Veri.

Eğer SQLExecute, veri kaynağında hiçbir satır etkisi etmeyen aranan güncelleme, ekleme veya silme ifadesini çalıştırırsa, SQLExecute çağrısı SQL_NO_DATA döner.

Eğer SQL_ATTR_PARAMSET_SIZE ifadesinin değeri 1'den büyükse ve SQL ifadesi en az bir parametre işaretçisi içeriyorsa, SQLExecuteSQLBindParameter'e çağrılarda *ParameterValuePtr argümanı tarafından işaretlenen dizilerdeki her parametre değeri seti için SQL ifadesini bir kez çalıştırır. Daha fazla bilgi için bkz. Parametre Değerleri Dizileri.

Eğer yer imleri etkinleştirilirse ve yer imlerini destekleyemeyen bir sorgu yürütülürse, sürücü bir özellik değerini değiştirerek ve SQLSTATE 01S02 (Seçenek değeri değiştirildi) döndürerek ortamı yer imlerini destekleyen bir sisteme yönlendirmeye çalışmalıdır. Öznitelik değiştirilemiyorsa, sürücü SQLSTATE HY024 (Geçersiz özellik değeri) döndürmelidir.

Note

Bağlantı havuzu kullanılırken, bir uygulama veritabanını veya veritabanının bağlamını değiştiren SQL ifadelerini çalıştırmamalıdır; örneğin SQL Server'daki USEveritabanı ifadesi, veri kaynağı tarafından kullanılan kataloğu değiştirir.

Kod Örneği

Bakız: SQLBindParameter, SQLBulkOperations, SQLPutData ve SQLSetPos.

Hakkında bilgi için Bkz:
Sonuç kümesindeki bir sütuna arabellek bağlama SQLBindCol İşlevi
Deyim işlemeyi iptal etme SQLCancel İşlevi
İmleci kapatmak SQLCloseCursor Fonksiyonu
İşleme veya geri alma işlemini yürütme SQLEndTran İşlevi
SQL ifadesinin yürütülmesi SQLExecDirect Fonksiyonu
Birden çok veri satırı getirme SQLFetch İşlevi
Veri bloğunu getirme veya sonuç kümesinde kaydırma SQLFetchScroll İşlevi
Bir ifade tutamacının serbest bırakılması SQLFreeStmt İşlevi
İmleç adı döndürme SQLGetCursorName İşlevi
Veri sütununun bir bölümünü veya tamamını getirme SQLGetData İşlevi
Veri göndermek için sonraki parametreyi döndürme SQLParamData İşlevi
Bir deyimi yürütme için hazırlama SQLPrepare İşlevi
Yürütme zamanında parametre verileri gönderme SQLPutData İşlevi
İmleç adı ayarlama SQLSetCursorName İşlevi
Deyim özniteliğini ayarlama SQLSetStmtAttr İşlevi

Ayrıca Bkz.

ODBC API Referansı
ODBC Üst Bilgi Dosyaları