任何 ODBC 應用程式的第一個任務是載入驅動程式管理器;具體執行方式取決於作業系統。 例如,在執行 Microsoft Windows NT Server/Windows 2000 Server、Windows NT Workstation/Windows 2000 Professional 或 Microsoft Windows 95/98 的電腦上,應用程式要麼連結到驅動程式管理器函式庫,要麼呼叫 LoadLibrary 來載入驅動程式管理員 DLL。
接下來的任務是,在應用程式呼叫其他 ODBC 函式之前,必須先初始化 ODBC 環境並分配環境句柄,具體如下:
應用程式宣告一個類型為 SQLHENV 的變數。 接著它呼叫 SQLAllocHandle ,傳遞該變數的位址及 SQL_HANDLE_ENV 選項。 例如:
SQLHENV henv1; SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv1);驅動管理器會分配一個結構來儲存環境資訊,並在變數中回傳環境句柄。
驅動程式管理器此時不會呼叫驅動程式中的 SQLAllocHandle ,因為它不知道該呼叫哪個驅動程式。 它會延遲在驅動程式中呼叫 SQLAllocHandle ,直到應用程式呼叫函式連接資料來源。 欲了解更多資訊,請參閱本節後面的 「駕駛經理在連接流程中的角色」。
當應用程式完成使用 ODBC 後,會以 SQLFreeHandle 釋放環境控制代碼。 在釋放環境後,使用環境的 handle 來呼叫 ODBC 函式是應用程式的錯誤;這樣做會帶來未明確定義但很可能致命的後果。
當呼叫 SQLFreeHandle 時,驅動程式會釋出用來儲存環境資訊的結構。 請注意,在環境句柄上所有連線句柄都被釋放後, SQLFreeHandle 無法被呼叫。
欲了解更多環境句柄的資訊,請參閱環境句柄。