核心步骤概览
- 准备工作:确保你的 SQL Server 2005 服务正在运行,并且你知道连接所需的信息(服务器名、数据库名、用户名、密码)。
- 下载 JDBC 驱动:从微软官网下载适用于 SQL Server 2005 的 JDBC 驱动。
- 添加驱动到项目:将下载的 JDBC 驱动 JAR 文件添加到你的 Java 项目的类路径中。
- 编写 Java 连接代码:使用
java.sql包中的类来建立连接、执行查询和处理结果。 - 处理资源:务必关闭所有数据库资源(连接、语句、结果集),以避免资源泄漏。
第 1 步:准备工作
在编写代码之前,请确保你已经拥有以下信息:

(图片来源网络,侵删)
- 服务器名:
localhost(如果你在本地运行),或者一个 IP 地址如168.1.100,或者一个网络名如SERVER_NAME。 - 端口号:SQL Server 的默认端口是
1433,如果不是默认端口,你需要提供端口号,格式为服务器名:端口号,localhost:1433。 - 数据库名:你想连接的数据库的名称,
my_database。 - 用户名和密码:具有访问该数据库权限的 SQL Server 用户名和密码。
第 2 步:下载 JDBC 驱动
SQL Server 2005 对应的 JDBC 驱动版本是 sqljdbc.jar 或 sqljdbc4.jar。
-
重要提示:SQL Server 2005 的驱动包中通常包含两个版本的 JAR:
sqljdbc.jar: 支持 JDBC 3.0,适用于 Java 5 (JDK 1.5)。sqljdbc4.jar: 支持 JDBC 4.0,适用于 Java 6 (JDK 1.6) 及更高版本。
请根据你的 JDK 版本选择合适的 JAR 文件,现在大多数环境都使用 Java 8 或更高版本,
sqljdbc4.jar是更安全的选择。 -
下载地址: 你可以在微软的归档库中找到它,以下是直接链接:
(图片来源网络,侵删)- Microsoft JDBC Driver 4.0 for SQL Server (支持 JDK 6+):
https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15#archive
在这个页面中,找到 "Previous Releases" 部分,然后选择 "Version 4.2"(这是支持 SQL Server 2005 的最后一个主要版本),下载 "Download" 链接下的
sqljdbc_4.2.6420.1000_enu.zip文件,解压后,在enu目录下找到sqljdbc4.jar。
- Microsoft JDBC Driver 4.0 for SQL Server (支持 JDK 6+):
https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15#archive
在这个页面中,找到 "Previous Releases" 部分,然后选择 "Version 4.2"(这是支持 SQL Server 2005 的最后一个主要版本),下载 "Download" 链接下的
第 3 步:添加驱动到项目
你需要将下载的 sqljdbc4.jar 文件添加到你的 Java 项目的类路径中。
-
对于 IDE (如 IntelliJ IDEA 或 Eclipse):
- 右键点击你的项目。
- 选择 "Open Module Settings" (IntelliJ) 或 "Build Path" -> "Configure Build Path" (Eclipse)。
- 在 "Libraries" 或 "Classpath" 选项卡中,点击 "Add External JARs..." 或 "Add JARs..."。
- 浏览并选择你下载的
sqljdbc4.jar文件。 - 点击 "OK" 保存设置。
-
对于命令行编译和运行: 你需要使用
-cp(classpath) 参数来指定 JAR 文件的位置。# 编译 javac -cp ".;C:\path\to\your\sqljdbc4.jar" YourJavaFile.java # 运行 java -cp ".;C:\path\to\your\sqljdbc4.jar" YourJavaFile
注意:在 Windows 系统中,类路径的分隔符是分号 ,而在 Linux 或 macOS 中是冒号 。
(图片来源网络,侵删)
第 4 步:编写 Java 连接代码
下面是一个完整的示例,展示了如何连接到 SQL Server 2005,执行一个简单的查询,并打印结果。
示例代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SqlServer2005Connector {
// 数据库连接信息 - 请根据你的实际情况修改
private static final String DB_URL = "jdbc:sqlserver://localhost:1433;databaseName=your_database;user=your_username;password=your_password";
public static void main(String[] args) {
// 使用 try-with-resources 语句,可以自动关闭资源
try (Connection conn = DriverManager.getConnection(DB_URL);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT 'Hello, SQL Server 2005!' AS Greeting")) {
// 检查连接是否成功
if (conn != null) {
System.out.println("成功连接到 SQL Server 2005 数据库!");
}
// 处理查询结果
while (rs.next()) {
// 通过列名获取数据,更安全
String greeting = rs.getString("Greeting");
System.out.println("查询结果: " + greeting);
}
} catch (SQLException e) {
// 捕获并处理 SQL 异常
System.err.println("连接数据库或执行查询时出错!");
e.printStackTrace();
}
}
}
代码解析
-
DB_URL(连接字符串):jdbc:sqlserver://: JDBC 驱动的协议。localhost:1433: 服务器地址和端口。databaseName=your_database: 指定要连接的数据库名。user=your_username: 数据库用户名。password=your_password: 数据库密码。- 另一种写法 (推荐):将用户名和密码分开,在
getConnection方法中传入。String DB_URL = "jdbc:sqlserver://localhost:1433;databaseName=your_database"; String USER = "your_username"; String PASS = "your_password"; Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
-
try-with-resources语句:- 这是 Java 7 引入的一个非常方便的特性,只要实现了
AutoCloseable接口(Connection,Statement,ResultSet都实现了),在try语句块结束时,它们会自动被关闭,无需手动调用close()方法,有效防止资源泄漏。
- 这是 Java 7 引入的一个非常方便的特性,只要实现了
-
DriverManager.getConnection():- 这是建立数据库连接的核心方法,它会加载已注册的 JDBC 驱动(
sqljdbc4.jar中的驱动类),并根据提供的 URL 尝试连接。
- 这是建立数据库连接的核心方法,它会加载已注册的 JDBC 驱动(
-
Statement和ResultSet:Statement用于执行 SQL 查询。ResultSet用于存储查询返回的结果集,你可以通过next()方法遍历每一行数据,并用getXXX()方法(如getString(),getInt())获取列的值。
第 5 步:常见问题与解决方法
问题 1:ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
- 原因:JVM 在类路径中找不到 SQL Server 的 JDBC 驱动类。
- 解决方法:
- 确认你下载了正确的
sqljdbc4.jar文件。 - 确认你已经将该 JAR 文件正确地添加到了项目的类路径中,对于 IDE,检查项目设置;对于命令行,检查
-cp参数是否正确。
- 确认你下载了正确的
问题 2:SQLException: The TCP/IP connection to the host has failed
- 原因:Java 应用程序无法通过网络连接到 SQL Server 服务,这是最常见的问题。
- 解决方法:
- 检查 SQL Server 服务是否正在运行:在 Windows 的 "服务" 中找到 "SQL Server" 相关服务,确保其状态为 "正在运行"。
- 检查 SQL Server 的 TCP/IP 协议是否启用:
- 打开 SQL Server Configuration Manager。
- 展开 "SQL Server 网络配置"。
- 点击 "MSSQLSERVER 的协议" (或你的实例名)。
