四步详解Java连接SQL Server 2008的JDBC与ODBC方法与代码示例

需积分: 43 39 下载量 167 浏览量 更新于2024-09-10 1 收藏 322KB DOC 举报
本文将详细介绍Java连接SQL Server 2008的四种详细方法,包括使用JDBC-ODBC桥和JDBC驱动,以及针对Windows身份验证和SQL Server身份验证的不同连接策略。以下是每种方法的详细步骤和示例代码: 1. JDBC-ODBC桥连接 - 首先,需要在Windows系统上配置ODBC数据源,通过控制面板的管理工具>数据源(ODBC)添加SQL Server数据源。 - 完成数据源设置后,可以通过以下代码连接到数据库: ```java try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ex) { System.out.println("数据库驱动加载失败"); } String url = "jdbc:odbc:sqlserver;"; String sql = "select * from exa"; Connection conn = DriverManager.getConnection(url, "", ""); // Windows验证,空字符串代表自动获取登录凭据 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); // ...处理查询结果 ``` 这里,我们使用了`sun.jdbc.odbc.JdbcOdbcDriver`,这是JDBC-ODBC桥提供的驱动,用于连接通过ODBC建立的数据源。 2. JDBC直接连接(SQL Server身份验证) - 对于SQL Server身份验证,需要知道用户名和密码,代码如下: ```java String url = "jdbc:sqlserver://[服务器地址];databaseName=[数据库名];integratedSecurity=false;user=[用户名];password=[密码]"; Connection conn = DriverManager.getConnection(url); // ...其他操作 ``` `integratedSecurity=false` 表示不使用Windows身份验证,而是提供明文的用户名和密码。 3. JDBC直接连接(Windows身份验证) 如果数据库支持Windows身份验证,可以省略用户名和密码: ```java String url = "jdbc:sqlserver://[服务器地址];databaseName=[数据库名];integratedSecurity=true"; Connection conn = DriverManager.getConnection(url); // ...其他操作 ``` 这里,`integratedSecurity=true` 表示使用Windows用户的凭据进行连接。 4. 使用JDBC驱动直接连接 对于直接使用JDBC驱动,需要下载并添加适当的jar文件,例如`jtds.jar`或Microsoft JDBC Driver for SQL Server。连接代码如下: ```java Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://[服务器地址];databaseName=[数据库名]"; Connection conn = DriverManager.getConnection(url, "[用户名]", "[密码]"); // ...其他操作 ``` 这里,使用的是Microsoft官方提供的JDBC驱动,适用于更广泛的SQL Server版本。 以上四种方法中,JDBC-ODBC桥适合跨平台且不想暴露数据库用户名和密码的情况,而直接使用JDBC驱动则更为常见,因为它们提供了更稳定和安全的连接。