打开连接池时打开第二个连接时,SQL Native Client崩溃了?

时间:2008-12-23 19:39:36

标签: c++ sql-server-2000 odbc sqlncli

我正在使用一个C ++应用程序,该应用程序使用SQL Native Client通过ODBC与SQL Server 2000数据库进行通信。

在进行任何数据库工作之前,我按如下方式分配环境句柄:

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断开连接到这个时候。)如果我对这一行进行评论,应用程序就可以顺利进行。

可能导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

这可能是完全不同的问题(即我不使用C ++),但也许它可以帮助你。

当我开始合作时,我正在处理的应用程序也崩溃了。

数据库查询返回多个记录集时发生问题。

当我尝试移动到下一个记录集时,我的应用程序崩溃了。

这是不同的,但可能与您的情况有关。