2008-12-23 81 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++),但也许它可以帮助你。

我正在使用的应用程序也崩溃了,当我变成了游泳池。

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

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

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