处理连接

下载 JDBC 驱动程序

以下各部分提供了使用 Microsoft JDBC Driver for SQL Server 的 SQLServerConnection 类来连接到 SQL Server 数据库的不同方法的示例。

注意

如果在使用 JDBC 驱动程序连接到 SQL Server 时遇到问题,请参阅连接疑难解答获取有关解决方法的建议。

使用 DriverManager 类创建连接

创建到 SQL Server 数据库的连接的最简便方法是加载 JDBC 驱动程序,然后调用 DriverManager 类的 getConnection 方法,如下所示:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = DriverManager.getConnection(connectionUrl);  

此技术将通过使用驱动程序列表中第一个可以与给定 URL 成功连接的可用驱动程序,创建数据库连接。

注意

使用 sqljdbc4.jar 类库时,应用程序无需使用 Class.forName 方法显式注册或加载驱动程序。 调用 DriverManager 类的 getConnection 方法时,会从已注册的 JDBC 驱动程序集中找到相应的驱动程序。 有关详细信息,请参阅“使用 JDBC Driver”。

使用 SQLServerDriver 类创建连接

如果必须为 DriverManager 指定驱动程序列表中的特定驱动程序,可以使用 SQLServerDriver 类的 connect 方法来创建数据库连接,如下所示:

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = d.connect(connectionUrl, new Properties());  

使用 SQLServerDataSource 类创建连接

如果必须使用 SQLServerDataSource 类创建连接,可以先使用此类的各种 setter 方法,然后调用 getConnection 方法,如下所示:

SQLServerDataSource ds = new SQLServerDataSource();  
ds.setUser("MyUserName");  
ds.setPassword("*****");  
ds.setServerName("localhost");  
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");  
Connection con = ds.getConnection();  

创建定目标到特定数据源的连接

如果必须建立定目标到特定数据源的数据库连接,可以采用许多方法。 每种方法取决于使用此连接 URL 设置的属性。

若要连接到远程服务器上的默认实例,请使用以下示例:

String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"

若要连接到服务器上的特定端口,请使用以下示例:

String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"

若要连接到服务器上的命名实例,请使用以下示例:

String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"

若要连接到服务器上的特定数据库,请使用以下示例:

String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"

若要查看更多连接 URL 示例,请参阅生成连接 URL

创建有自定义登录超时的连接

如果必须为服务器负载或网络流量进行调整,可以创建有特定登录超时值(以秒为单位)的连接,如以下示例所示:

String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"

创建有应用程序级别标识的连接

如果必须记录日志并进行分析,则必须将连接标识为源于特定应用程序,如以下示例所示:

String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"

关闭连接

可以通过调用 SQLServerConnection 类的 close 方法显式地关闭数据库连接,如下所示:

con.close();

这将释放 SQLServerConnection 对象正在使用的数据库资源,或使连接返回到池方案中的连接池。

注意

调用 close 方法还将回滚所有挂起的事务。

另请参阅

通过 JDBC 驱动程序连接到 SQL Server