分配连接句柄

在应用程序可以连接到数据源或驱动程序之前,它必须分配连接句柄。 为此,调用 SQLAllocHandle 并将 HandleType 参数设置为SQL_HANDLE_DBC, 并且 InputHandle 指向初始化的环境句柄。

连接的特征通过设置连接属性来控制。 例如,由于事务发生在连接级别,事务隔离级别是连接属性。 同样,登录超时或尝试在超时前尝试连接时等待的秒数是连接属性。

连接属性使用 SQLSetConnectAttr 进行设置,并使用 SQLGetConnectAttr 检索其当前设置。 如果在尝试连接之前调用 SQLSetConnectAttr,ODBC 驱动程序管理器将属性存储在其连接结构中,并在驱动程序中将其设置为连接过程的一部分。 在应用程序尝试连接之前,必须设置某些连接属性;完成连接后,可以设置其他设置。 例如,在建立连接之前必须设置SQL_ATTR_ODBC_CURSORS,但在连接后可以设置SQL_ATTR_AUTOCOMMIT。

针对 SQL Server 版本 7.0 或更高版本运行的应用程序有时可以通过重置表格数据流(TDS)网络数据包大小来提高其性能。 默认数据包大小在服务器上设置,大小为 4 KB。 数据包大小为 4 KB 到 8 KB 通常可提供最佳性能。 如果测试表明它使用不同的数据包大小表现更好,则应用程序可以重置数据包大小。 ODBC 应用程序可以通过使用 SQL_ATTR_PACKET_SIZE 选项调用 SQLSetConnectAttr 进行连接之前执行此作。 某些应用程序的性能优于较大的数据包大小,但对于大于 8 KB 的数据包大小,性能改进通常最小。

SQL Server Native Client ODBC 驱动程序具有许多扩展连接属性,应用程序可以使用这些属性来增加其功能。 其中一些属性控制可以在数据源中指定的相同选项,并用于替代数据源中设置的任何选项。 例如,如果应用程序使用带引号的标识符,它可以将特定于驱动程序的属性SQL_COPT_SS_QUOTED_IDENT设置为SQL_QI_ON,以确保无论任何数据源中的设置如何,都始终设置此选项。

另请参阅

与 SQL Server 通信 (ODBC)