最近我开始支持Microsoft JDBC Driver for SQL server,它能够使Java应用连接到微软SQL Server。由于从未接触过Java开发,所以写下这篇文章记录如何创建一个最简单的控制台Java程序通过JDBC Driver来连接SQL Server。
下载并安装JDK:https://www.oracle.com/technetwork/java/javase/downloads/index.html,本文将使用 JDK 8 (8u181) 因为它是官方推荐的JDBC Driver 7.0的Java运行时版本。
由于我们需要用到
javac.exe
来编译Java程序,为了在任何地方都能运行javac.exe
,需要把C:\Program Files\Java\jdk1.8.0_181\bin
添加到系统环境变量:Path
。下载Microsoft JDBC Driver 7.0 for SQL Server:https://www.microsoft.com/en-us/download/details.aspx?id=57175。
运行
sqljdbc_7.0.0.0_enu.exe
并将其内容解压至任何地方,这里我们解压至:C:\jdbc7
。解压后,在Java8中使用的JDBC Driver可以在
C:\jdbc7\sqljdbc_7.0\enu\mssql-jdbc-7.0.0.jre8.jar
找到,为了让编译器能够找到JDBC Driver,我们需要把这个路径加到名为classpath
的系统变量中去。创建JDBC测试程序文件夹:
C:\jdbc-app
。保存下面的程序代码至:
C:\jdbc-app\JDBCTest.java
。import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCTest { public static void main(String[] args) { String connectionUrl = "jdbc:sqlserver://192.168.199.221:1433;databaseName=TestDB;integratedSecurity=true"; try (Connection con = DriverManager.getConnection(connectionUrl); Statement stmt = con.createStatement();) { String SQL = "SELECT TOP 10 * FROM Person;"; ResultSet rs = stmt.executeQuery(SQL); while (rs.next()) { System.out.println(rs.getString("Name")); } } catch (SQLException e) { e.printStackTrace(); } } }
在测试程序中,我们使用集成身份认证来连接远程的SQL Server。集成身份认证需要用到
sqljdbc_auth.dll
。我们可以在C:\jdbc7\sqljdbc_7.0\enu\auth\x64
(64位系统)或C:\jdbc7\sqljdbc_7.0\enu\auth\x86
(32位系统)中找到该DLL,然后复制sqljdbc_auth.dll
到C:\jdbc-app
。将
C:\jdbc-app
添加到classpath
。打开CMD,在
C:\jdbc-app
下运行javac JDBCTest.java
来编译我们的JDBC测试程序,编译完了会创建出JDBCTest.class
。运行
java JDBCTest
来测试程序的输出。C:\jdbc-app>javac JDBCTest.java C:\jdbc-app>java JDBCTest John Marry Kevin C:\jdbc-app>