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

      2019-12-13 14:43      JAVA编程
这篇文章主要介绍了Windows系统下Java连接SQL Server的方法,分别是JDBC和JTDS的相关使用,需要的朋友可以参考下

使用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代码,如下:

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

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();  } }