当连接池打开时,第二个连接打开时,SQL Native Client会崩溃吗?
问题描述:
我正在使用使用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
)。如果我评论此行,应用程序没有任何问题。
什么可能导致这种情况?
答
这可能是完全不同的问题(即我不使用C++),但也许它可以帮助你。
我正在使用的应用程序也崩溃了,当我变成了游泳池。
数据库查询返回多个记录集时发生问题。
当我尝试移动到下一个记录集时,我的应用程序崩溃了。
这是不同的,但可能与您的情况有关。