Sql server SQL Server:ODBC连接池/C API
我想澄清如何从C使用SQL Server进行连接池。我知道这个问题就像。。。。1998年,但是。。。我从来没有用过C,所以。。。下面是: 首先,我认为我必须设置属性以启用池:Sql server SQL Server:ODBC连接池/C API,sql-server,c,odbc,connection-pooling,Sql Server,C,Odbc,Connection Pooling,我想澄清如何从C使用SQL Server进行连接池。我知道这个问题就像。。。。1998年,但是。。。我从来没有用过C,所以。。。下面是: 首先,我认为我必须设置属性以启用池: rc = SQLSetEnvAttr( NULL, // make process level cursor pooling SQL_ATTR_CONNECTION_POOLING, (SQLPOINTER)SQL_CP_ONE_PER_DR
rc = SQLSetEnvAttr( NULL, // make process level cursor pooling
SQL_ATTR_CONNECTION_POOLING,
(SQLPOINTER)SQL_CP_ONE_PER_DRIVER,
SQL_IS_INTEGER);
然后分配HENV并将其设置为ODBC3.0:
rc = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv1);
rc = SQLSetEnvAttr(henv1, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0);
问题
在这个特定的场景中,C应用程序可能是唯一一个从此框访问SQL Server的应用程序。但它将在IIS环境中运行,这意味着它可能是多进程的,每个进程都是多线程的
我将在HTTP请求的范围内获取和使用该连接,因此我希望它尽可能快、高效和可扩展。我想最后一个知道答案的人是在2008年底退休的:)哈,我知道,就像我说的,Sooo 1998。但是PHP、Ruby和其他环境的驱动程序是在这个基于C的ODBC层上实现的。ODBC仍然被大量使用,非常快速,高效。你看过了吗?我完全同意ODBC围绕ADO.Net编程模型运行。但正是什么让它快速,也让它难以使用。SQLBindParameter,SQLBindCol,不完全是一个外行程序员的喜悦。。。