我正在使用使用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
)。如果我评论此行,应用程序没有任何问题。
什么可能导致这种情况?