2008-12-23 80 views
0

我正在使用使用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)。如果我評論此行,應用程序沒有任何問題。

什麼可能導致這種情況?

回答

0

這可能是完全不同的問題(即我不使用C++),但也許它可以幫助你。

我正在使用的應用程序也崩潰了,當我變成了游泳池。

數據庫查詢返回多個記錄集時發生問題。

當我嘗試移動到下一個記錄集時,我的應用程序崩潰了。

這是不同的,但可能與您的情況有關。