使用连接SQL2005、2008R2、2012
以下各部分提供了使用 Microsoft SQL Server 2005 JDBC Driver 的 SQLServerConnection 类来连接到 SQL Server 数据库的不同方法的实例。
如果在使用 JDBC 驱动程序连接到 SQL Server 时遇到问题,请参阅“连接疑难解答”获取有关解决方法的建议。
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"Connection con = DriverManager.getConnection(connectionUrl);
此技术将通过使用驱动程序列表中第一个可以与给定 URL 成功连接的可用驱动程序,创建数据库连接。
Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"Connection con = d.connect(connectionUrl, new Properties());
SQLServerDataSource ds = new SQLServerDataSource();ds.setUser("MyUserName");ds.setPassword("*****");ds.setServerName("localhost");ds.setPortNumber(1433); ds.setDatabaseName("AdventureWorks");Connection con = ds.getConnection();
调用 close 方法还将回滚所有挂起的事务。
以下各部分提供了使用 Microsoft SQL Server JDBC Driver 的 SQLServerConnection 类来连接到 SQL Server 数据库的不同方法的示例。
注意:如果在使用 JDBC 驱动程序连接到 SQL Server 时遇到问题,请参阅“连接疑难解答”获取有关解决方法的建议。使用 DriverManager 类创建连接创建到 SQL Server 数据库的连接的最简便方法是加载 JDBC 驱动程序,然后调用 DriverManager 类的 getConnection 方法,如下所示:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"Connection con = DriverManager.getConnection(connectionUrl);
此技术将通过使用驱动程序列表中第一个可以与给定 URL 成功连接的可用驱动程序,创建数据库连接。
注意:使用 sqljdbc4.jar 类库时,应用程序无需使用 Class.forName 方法显示注册或加载驱动程序。调用 DriverManager 类的 getConnection 方法时,会从已注册的 JDBC Driver 集中找到相应的驱动程序。有关详细信息,请参阅“使用 JDBC Driver”。使用 SQLServerDriver 类创建连接如果必须为 DriverManager 指定驱动程序列表中的特定驱动程序,可以使用 SQLServerDriver 类的 connect 方法来创建数据库连接,如下所示:
Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();String connectionUrl = "jdbc:sqlserver://localhost;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;integratedSecurity=true;"
若要连接到服务器上的特定端口,请使用:
String url = "jdbc:sqlserver://MyServer:1533;integratedSecurity=true;"
若要连接到服务器上的指定实例,请使用:
String url = "jdbc:sqlserver://209.196.43.19;instanceName=INSTANCE1;integratedSecurity=true;"
若要连接到服务器上的特定数据库,请使用:
String url = "jdbc:sqlserver://172.31.255.255;database=AdventureWorks;integratedSecurity=true;"
有关连接 URL 实例的详细信息,请参阅创建连接 URL。
创建具有自定义登录超时的连接如果必须调节服务器负载或网络流量,可以创建具有特定登录超时值(以秒为单位)的连接,如下所示:
String url = "jdbc:sqlserver://MyServer;loginTimeout=90;integratedSecurity=true;"
如果必须记录日志并进行分析,则必须将连接标识为源于特定应用程序,如下所示:
String url = "jdbc:sqlserver://MyServer;applicationName=MYAPP.EXE;integratedSecurity=true;"
可以通过调用 SQLServerConnection 类的 close 方法显式地关闭数据库连接,如下所示:
con.close();
这将释放 SQLServerConnection 对象正在使用的数据库资源,或使连接返回到池方案中的连接池。
注意:调用 close 方法还将回滚所有挂起的事务。请参阅如果在使用 JDBC 驱动程序连接到 SQL Server 时遇到问题,请参阅“连接疑难解答”获取有关解决方法的建议。
使用 DriverManager 类创建连接创建到 SQL Server 数据库的连接的最简便方法是加载 JDBC 驱动程序,然后调用 DriverManager 类的 getConnection 方法,如下所示:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"Connection con = DriverManager.getConnection(connectionUrl);
此技术将通过使用驱动程序列表中第一个可以与给定 URL 成功连接的可用驱动程序,创建数据库连接。
注意使用 sqljdbc4.jar 类库时,应用程序无需使用 Class.forName 方法显示注册或加载驱动程序。调用 DriverManager 类的 getConnection 方法时,会从已注册的 JDBC Driver 集中找到相应的驱动程序。有关详细信息,请参阅“使用 JDBC Driver”。
使用 SQLServerDriver 类创建连接如果必须为 DriverManager 指定驱动程序列表中的特定驱动程序,可以使用 SQLServerDriver 类的 connect 方法来创建数据库连接,如下所示:
Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();String connectionUrl = "jdbc:sqlserver://localhost;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;integratedSecurity=true;"
若要连接到服务器上的特定端口,请使用:
String url = "jdbc:sqlserver://MyServer:1533;integratedSecurity=true;"
若要连接到服务器上的指定实例,请使用:
String url = "jdbc:sqlserver://209.196.43.19;instanceName=INSTANCE1;integratedSecurity=true;"
若要连接到服务器上的特定数据库,请使用:
String url = "jdbc:sqlserver://172.31.255.255;database=AdventureWorks;integratedSecurity=true;"
有关连接 URL 实例的详细信息,请参阅创建连接 URL。
创建具有自定义登录超时的连接如果必须调节服务器负载或网络流量,可以创建具有特定登录超时值(以秒为单位)的连接,如下所示:
String url = "jdbc:sqlserver://MyServer;loginTimeout=90;integratedSecurity=true;"
创建具有应用程序级别标识的连接如果必须记录日志并进行分析,则必须将连接标识为源于特定应用程序,如下所示:
String url = "jdbc:sqlserver://MyServer;applicationName=MYAPP.EXE;integratedSecurity=true;"
关闭连接可以通过调用 SQLServerConnection 类的 close 方法显式地关闭数据库连接,如下所示:
con.close();
这将释放 SQLServerConnection 对象正在使用的数据库资源,或使连接返回到池方案中的连接池。
注意调用 close 方法还将回滚所有挂起的事务。
请参阅