Windows系统下Java连接SQL Server的方法简介
使用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(); } }