我正在使用使用SQL Native Client通過ODBC與SQL Server 2000數據庫進行通信的C++應用程序。當連接池打開時,第二個連接打開時,SQL Native Client會崩潰嗎?
做任何數據庫的工作之前,我分配環境句柄如下:
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &EnvironmentHandle);
這成功完成。
啓用連接池之前,上面的語句,我呼籲:
retcode = SQLSetEnvAttr(NULL, SQL_ATTR_CONNECTION_POOLING, (SQLPOINTER) SQL_CP_ONE_PER_HENV, SQL_IS_INTEGER);
SQLSetEnvAttr
,包括時,返回一個好的代碼,表示成功。但是,它會導致我的應用程序第二次崩潰,調用SQLDriverConnect
以建立與數據庫的連接(注意:第一個連接將使用SQLDriverConnect
創建,此時斷開使用SQLDisconnect
)。如果我評論此行,應用程序沒有任何問題。
什麼可能導致這種情況?