Aracılığıyla paylaş


Bağlantı Geçişleri

ODBC bağlantıları aşağıdaki durumlara sahiptir.

Devlet Açıklama
C0 Ayrılmamış ortam, ayrılmamış bağlantı
C1 Ayrılmış ortam, ayrılmamış bağlantı
C2 Ayrılmış ortam, ayrılmış bağlantı
C3 Bağlantı işlevinin verilere ihtiyacı var
C4 Bağlı bağlantı
C5 Bağlı bağlantı, ayrılmış deyim
C6 Bağlı bağlantı, işlem devam ediyor. Bağlantının C6 durumunda olması ve bağlantıda herhangi bir deyim ayrılmamış olması mümkündür. Örneğin, bağlantının el ile işleme modunda olduğunu ve C4 durumunda olduğunu varsayalım. Bir deyim ayrılırsa, yürütülürse (işlem başlatılırsa) ve serbest kalırsa, işlem etkin kalır ancak bağlantıda deyim yoktur.

Aşağıdaki tablolarda her ODBC işlevinin bağlantı durumunu nasıl etkilediği gösterilmektedir.

SQLAllocHandle

C0

Env yok.
C1 Ayrılmamış C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
C1[1] --[5] --[5] --[5] --[5] --[5] --[5]
(IH)[2] C2 --[5] --[5] --[5] --[5] --[5]
(IH)[3] (IH) (08003) (08003) C5 --[5] --[5]
(IH)[4] (IH) (08003) (08003) --[5] --[5] --[5]

[1] Bu satır, HandleType SQL_HANDLE_ENV geçişleri gösterir.

[2] Bu satır, HandleType SQL_HANDLE_DBC geçişleri gösterir.

[3] Bu satır, HandleType SQL_HANDLE_STMT geçişleri gösterir.

[4] Bu satır, HandleType SQL_HANDLE_DESC geçişleri gösterir.

[5] OutputHandlePtr ile sqlallochandle çağırma bu tanıtıcının önceki içeriğine bakılmaksızın işleyen geçerli bir tanıtıcıya işaret eder ve ODBC sürücüleri için sorunlara neden olabilir. *OutputHandlePtr için tanımlanan aynı uygulama değişkeniyle SQLAllocHandle iki kez çağırmak SQLFreeHandle çağırarak tanıtıcıyı yeniden konumlandırmadan önce serbest bırakması yanlış ODBC uygulama programlamasıdır. ODBC tanıtıcılarının üzerine böyle bir şekilde yazmak, ODBC sürücülerinin parçasında tutarsız davranışlara veya hatalara neden olabilir.

SQLBrowseConnect

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) C3 [d] C4 [s] -- [d] C2 [e] C4 [s] (08002) (08002) (08002)

SQLCloseCursor

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) (IH) -- --[1] C5[2]

[1] Bağlantı el ile işleme modundaydı.

[2] Bağlantı otomatik işleme modundaydı.

SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges ve SQLTables

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) (IH) --[1] C6[2] --

[1] Bağlantı otomatik işleme modundaydı veya veri kaynağı işlem başlatmadı.

[2] Bağlantı el ile işleme modundaydı ve veri kaynağı bir işlem başlattı.

SQLConnect

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) C4 (08002) (08002) (08002) (08002)

SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField ve SQLSetDescRec

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) --[1] -- --

[1] Bu durumda, uygulama için kullanılabilen tek tanımlayıcılar açıkça ayrılmış tanımlayıcılardır.

SQLDataSources ve SQLDrivers

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) -- -- -- -- -- --

SQLDisconnect

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (08003) C2 C2 C2 25000

SQLDriverConnect

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) C4 s -- n[f] (08002) (08002) (08002) (08002)

SQLEndTran

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH)[1] --[3] --[3] --[3] -- -- --[4] veya ([5], [6]ve [8]) C4[5] ve [7] C5[5], [6]ve [9]
(IH)[2] (IH) (08003) (08003) -- -- C5

[1] Bu satır, HandleType SQL_HANDLE_ENV geçişleri gösterir.

[2] Bu satır, HandleType SQL_HANDLE_DBC geçişleri gösterir.

[3] Bağlantı bağlı durumda olmadığından işlemden etkilenmez.

[4] İşleme veya geri alma bağlantıda başarısız oldu. işlevi bu durumda SQL_ERROR döndürür.

[5] İşleme veya geri alma işlemi bağlantıda başarılı oldu. İşlev, işleme veya geri alma başka bir bağlantıda başarısız olursa SQL_ERROR döndürür veya tüm bağlantılarda işleme veya geri alma başarılı olursa işlev SQL_SUCCESS döndürür.

[6] Bağlantıda en az bir deyim ayrıldı.

[7] Bağlantıda herhangi bir deyim ayrılmadı.

[8] Bağlantıda açık bir imleç bulunan en az bir deyim vardı ve veri kaynağı, işlemler işlendiğinde veya geri alındığında (CompletionType SQL_COMMIT veya SQL_ROLLBACK olmasına bağlı olarak) imleçleri korur. Daha fazla bilgi için sqlgetinfoSQL_CURSOR_COMMIT_BEHAVIOR ve SQL_CURSOR_ROLLBACK_BEHAVIOR özniteliklerine bakın.

[9] Bağlantıda açık imleçlerin bulunduğu deyimler varsa, işlem işlendiğinde veya geri alındığında imleçler korunmaz.

SQLExecDirect ve SQLExecute

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) (IH) --[1] C6[2] C6[3] --

[1] Bağlantı otomatik işleme modundaydı ve yürütülen deyim imleçbelirtim (SELECT deyimi gibi) değildi; veya bağlantı el ile işleme modundaydı ve yürütülen deyim işlem başlatmadı.

[2] Bağlantı otomatik işleme modundaydı ve yürütülen deyim belirtim (SELECT deyimi gibi)bir imleçti.

[3] Bağlantı el ile işleme modundaydı ve veri kaynağı bir işlem başlattı.

SQLFreeHandle

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH)[1] C0 (HY010) (HY010) (HY010) (HY010) (HY010)
(IH)[2] (IH) (C1) (HY010) (HY010) (HY010) (HY010)
(IH)[3] (IH) (IH) (IH) (IH) C4[5] --[6] --[7] C4[5] ve [8] C5[6] ve [8]
(IH)[4] (IH) (IH) (IH) -- -- --

[1] Bu satır, HandleType SQL_HANDLE_ENV geçişleri gösterir.

[2] Bu satır, HandleType SQL_HANDLE_DBC geçişleri gösterir.

[3] Bu satır, HandleType SQL_HANDLE_STMT geçişleri gösterir.

[4] Bu satır, HandleType SQL_HANDLE_DESC geçişleri gösterir.

[5] Bağlantıda yalnızca bir deyim ayrıldı.

[6] Bağlantıda birden çok deyim ayrıldı.

[7] Bağlantı el ile işleme modundaydı.

[8] Bağlantı otomatik işleme modundaydı.

SQLFreeStmt

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH)[1] (IH) (IH) (IH) (IH) -- C5[3] --[4]
(IH)[2] (IH) (IH) (IH) (IH) -- --

[1] Bu satır, Option bağımsız değişkeni SQL_CLOSE olduğunda işlemleri gösterir.

[2] Bu satır, Option bağımsız değişkeni SQL_UNBIND veya SQL_RESET_PARAMS olduğunda işlemleri gösterir.

[3] Bağlantı otomatik işleme modundaydı ve bu hariç hiçbir deyimde açık imleç yoktu.

[4] Bağlantı el ile işleme modundaydı veya otomatik işleme modundaydı ve en az bir deyimde imleç açıktı.

SQLGetConnectAttr

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
IH IH --[1] 08003[2] HY010 -- -- --

[1] Özniteliği bağımsız değişkeni SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE veya SQL_ATTR_TRACEFILE ya da bağlantı özniteliği için bir değer ayarlanmıştı.

[2] Özniteliği bağımsız değişkeni SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE veya SQL_ATTR_TRACEFILE değildi ve bağlantı özniteliği için bir değer ayarlanmamıştı.

SQLGetDiagField ve SQLGetDiagRec

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH)[1] -- -- -- -- -- --
(IH)[2] (IH) -- -- -- -- --
(IH)[3] (IH) (IH) (IH) (IH) -- --
(IH)[4] (IH) (IH) (IH) -- -- --

[1] Bu satır, HandleType SQL_HANDLE_ENV geçişleri gösterir.

[2] Bu satır, HandleType SQL_HANDLE_DBC geçişleri gösterir.

[3] Bu satır, HandleType SQL_HANDLE_STMT geçişleri gösterir.

[4] Bu satır, HandleType SQL_HANDLE_DESC geçişleri gösterir.

SQLGetEnvAttr

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
IH -- -- -- -- -- --

SQLGetFunctions

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
IH IH HY010 HY010 -- -- --

SQLGetInfo

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
IH IH --[1] 08003[2] 08003 -- -- --

[1] InfoType bağımsız değişkeni SQL_ODBC_VER.

[2] InfoType bağımsız değişkeni SQL_ODBC_VER değildi.

SQLMoreResults

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) (IH) --[1] C6[2] --[3] C5[1]

[1] Bağlantı otomatik işleme modundaydı ve SQLMoreResults çağrısı, bir imleç belirtiminin sonuç kümesinin işlenmesini başlatmadı.

[2] Bağlantı otomatik işleme modundaydı ve SQLMoreResults çağrısı, bir imleç belirtiminin sonuç kümesinin işlenmesini başlatmıştır.

[3] Bağlantı el ile işleme modundaydı.

SQLNativeSql

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (08003) (08003) -- -- --

SQLPrepare

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) (IH) --[1] C6[2] --

[1] Bağlantı otomatik işleme modundaydı veya veri kaynağı işlem başlatmadı.

[2] Bağlantı el ile işleme modundaydı ve veri kaynağı bir işlem başlattı.

SQLSetConnectAttr

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
IH IH --[1] 08003[2] HY010 --[3] 08002[4] HY011[5] --[3] 08002[4] HY011[5] --[3] ve [6] C5[8] 08002[4] HY011[5] veya [7]

[1] Özniteliği bağımsız değişkeni SQL_ATTR_TRANSLATE_LIB veya SQL_ATTR_TRANSLATE_OPTION değildi.

[2] Özniteliği bağımsız değişkeni SQL_ATTR_TRANSLATE_LIB veya SQL_ATTR_TRANSLATE_OPTION.

[3] Özniteliği bağımsız değişkeni SQL_ATTR_ODBC_CURSORS veya SQL_ATTR_PACKET_SIZE değildi.

[4] Özniteliği bağımsız değişkeni SQL_ATTR_ODBC_CURSORS.

[5] Özniteliği bağımsız değişkeni SQL_ATTR_PACKET_SIZE.

[6] Özniteliği bağımsız değişkeni SQL_ATTR_AUTOCOMMIT değildi veya Özniteliği bağımsız değişkeni SQL_ATTR_AUTOCOMMIT ve bu özniteliğin ayarlanması işlemi işlemedi.

[7] Özniteliği bağımsız değişkeni SQL_ATTR_TXN_ISOLATION.

[8] Özniteliği bağımsız değişkeni SQL_ATTR_AUTOCOMMIT ve bu özniteliğin ayarlanması işlemi işledi.

SQLSetEnvAttr

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) -- -- (HY010) -- -- --

Diğer Tüm ODBC İşlevleri

C0

Env yok.
C1

Ayrılma -mış
C2

Ayrılan
C3

Veri Gerekiyor
C4

Bağlandı
C5

Beyanat
C6

İşlem
(IH) (IH) (IH) (IH) (IH) -- --