gpt4 book ai didi

c - 我应该为多个连接使用单独的 ODBC 环境吗?

转载 作者:行者123 更新时间:2023-11-30 15:16:08 25 4
gpt4 key购买 nike

我需要打开与系统数据库的连接,然后在内部打开租户数据库的连接。目前我已经为每个连接实现了不同的环境句柄。

连接到系统数据库,

retCode = SQLAllocConnect(sqlEnvHandle , &sqlConnectionHandle);     
retCode=SQLDriverConnect (sqlConnectionHandle,
NULL,
(SQLCHAR*)ConnString,
SQL_NTS,
retConnString,
BUFFER_SIZE,
NULL,
SQL_DRIVER_NOPROMPT);

连接到租户数据库,其中“i”迭代到租户数据库的数量并打开每个租户数据库的连接,

retCode = SQLAllocConnect(TenantDBConnectionObj[i].sqlTenantEnvHandle, &TenantDBConnectionObj[i].sqlTenantConnectionHandle);    

retCode=SQLDriverConnect(TenantDBConnectionObj[i].sqlTenantConnectionHandle,
NULL,
ConnString,
SQL_NTS,
retConnString,
BUFFER_SIZE,
NULL,
SQL_DRIVER_NOPROMPT);

仅使用一个环境句柄sqlEnvHandle来打开所有这些连接是有效的编程吗?连接池怎么样?这样的场景我们可以实现吗?

最佳答案

通常人们只使用一种环境并在此基础上建立许多联系。我不知道使用多个环境有什么优势(除非您需要针对不同的连接使用不同的环境设置 - 例如,您希望不同的连接池设置生效,在环境级别使用 SQL_ATTR_CONNECTION_POOLING 属性进行设置)。

此外,某些 ODBC 驱动程序不支持多种环境(有关 DB2 ODBC 3.0 驱动程序的效果的声明,请参阅 https://www-01.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/com.ibm.db2z11.doc.odbc/src/tpc/db2z_fnallochandle.dita)。

关于c - 我应该为多个连接使用单独的 ODBC 环境吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com