使用连接池

Microsoft JDBC Driver for SQL Server 提供对 Java Platform, Enterprise Edition (Java EE) 连接池的支持。JDBC Driver 实现了 JDBC 3.0 所需的接口，从而该驱动程序可参与任何中间件供应商提供的与 JDBC 3.0 兼容的连接池实现。中间件（例如 Java EE 应用程序服务器）通常提供兼容的连接池工具。JDBC 驱动程序将参与这些环境中的已池化的连接。

尽管 JDBC 驱动程序支持 Java EE 5 连接池，但其自身并不提供池实现。驱动程序依赖于第三方 Java 应用程序服务器来管理连接。

# 备注

用于连接池实现的类如下。

类 | 实现 | 说明
--- | --- | ---
com.microsoft.sqlserver.jdbc.SQLServerXADataSource | javax.sql.ConnectionPoolDataSource 和 javax.sql.XADataSource | 建议您对所有 Java EE 服务器需求都使用 SQLServerXADataSource 类，因为它实现了所有的 JDBC 3.0 池和 XA 接口。
com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource | javax.sql.ConnectionPoolDataSource | 该类是一个连接工厂，它使得 Java EE 应用程序服务器可使用物理连接来填充它的连接池。如果 Java EE 供应商的配置需要实现 javax.sql.ConnectionPoolDataSource 的类，则将该类的名称指定为 SQLServerConnectionPoolDataSource。通常，建议改用 SQLServerXADataSource 类，因为它同时实现了池和 XA 接口，并且已在更多的 Java EE 服务器配置中经过了验证。

JDBC 应用程序代码应始终显式地关闭连接，以便从池中获得最大利益。如果应用程序显式地关闭连接，则池实现可立即重新使用此连接。如果连接未关闭，则其他应用程序无法重新使用它。应用程序可使用 finally 构造来确保关闭已池化的连接，即使发生异常。

JDBC 驱动程序在将连接返回池中时，不会立即调用 sp_reset_connection 存储过程。但是，驱动程序将依靠第三方 Java 应用程序服务器使连接返回其原始状态。

# 请参阅

通过 JDBC 驱动程序连接到 SQL Server
发送有关本主题的反馈至 Microsoft。

© 2012 Microsoft。保留所有权利。