Windows系统下Java连接SQL Server的方法简介

时间:2022-09-02 20:07:57

使用JDBC连接SQL Server

设置SQL Server服务器

我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。

1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 2005 网络配置”→“MSSQLSERVER 的协议”
2、如果“TCP/IP”没有启用,右键单击选择“启动”。
3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433。
4、重新启动SQL Server或者重启计算机。


创建数据库

打开“SQL Server Management Studio”,登录连接SQL Server服务器,新建数据库,命名为test


在Eclipse中测试

1、打开Eclipse,“文件”→“新建”→“项目”→“Java 项目”,项目名为Test
2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
3、在Test项目的“JRE 系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构建路径...”→“Java 构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
4、编写Java代码,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.sql.*;
public class Test {
public static void main(String[] srg) {
 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test"; //连接服务器和数据库test
 String userName = "sa"; //默认用户名
 String userPwd = "123456"; //密码
 Connection dbConn;
 try {
  Class.forName(driverName);
  dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
  System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
 } catch (Exception e) {
  e.printStackTrace();
 }
}
}


注:
1、因为SQL Express这个版本的服务器默认是禁用的并且端口号没有配置,所以要进行重新设置
2、如果你以前用Java连接SQL Server 2000的话就要注意了:
在SQL Server 2000 中加载驱动和URL路径的语句是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
而SQL Server 2005 中加载驱动和URL的语句则为
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
如果写法错误将会找不到驱动。


jtds连接sqlserver
JTDS是一个开放源代码的100%纯Java的,用于JDBC 3.0驱动Microsoft SQL Server 和Sybase(10 ,11 ,12 ,15 版本)的驱动程序 。 JTDS是基于freetds的,并且是目前最快的生产准备JDBC驱动程序为SQL Server和Sybase 。
JTDS完全与JDBC 3.0兼容,支持只向前的,和可滚动/可更新的结果集(ResultSets)中并行(完全独立)语句,并且可实施所有databasemetadata和resultsetmetadata方法。
jTDS - SQL Server and Sybase JDBC driver
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package sqlserver_jtds;
 
import java.sql.*;
 
public class SQLServer {
 String dbURL = "jdbc:jtds:sqlserver://127.0.0.1:1433;;DatabaseName=test";
 String user = "sa";
 String password = "123456";
  
 Connection conn;
  
 public SQLServer(){
 this.connect();
 }
 public void connect(){
 try{
  try{
  Class.forName("net.sourceforge.jtds.jdbc.Driver");
  }catch(Exception e){
  e.printStackTrace();
  }
  //DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
  conn = DriverManager.getConnection(dbURL,user,password);
  DatabaseMetaData metaData = conn.getMetaData();
   
  System.out.print(metaData.getDatabaseProductVersion());
 }catch(Exception e){
  e.printStackTrace();
 }
 }
 public static void main(String[] args){
 new SQLServer();
 }
}