使用JDBC连接sqlserver2008
很多人都在问,我自己也测试几次,发现按照以前的方法连接会出现一点小问题。原因在于,SQL SERVER2008采用了动态端口的机制,按照以前的方法连接会报告连接不了,其实端口写对了完全没有问题。连接方法如下:
1,微软目前没有发布针对SQL Server2008专用的JDBC驱动程序,使用SQL Server 2005 的就可以了,但是,需要注意: SQL Server2008的新功能无法使用,这个必须等专用的JDBC发布之后才能使用。下载地址:
http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx
2、配置SQLJDBC驱动
Jdbc3.0下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
解压缩后放在放在E:\Java\sqljdbc_3.0目录下。
3、myEclipse配置
启动MyEclipse,将
E:\Java\sqljdbc_3.0\chs\sqljdbc4.jar文件。复制到相应的项目中[注意:若使用JDK 6.0或者以上建立项目的选sqljdbc4.jar]
4、设置端口为固定端口
SQL Server 配置管理器,按图设置即可
重启Sql server或重启计算机。注意:动态端口设为空,即可禁用动态端口。
关于sqlserver2008的监听端口,去数据库 新建查询中打 exec sys.sp_readerrorlog 0, 1, 'listening' 查一下你的端口是多少 。由图可知我的端口即可以使1433也可以是1434
5、检验连接是否成功
连接的主要代码:
<%@ page import=”java.sql.*”%>
<body>
<%
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动,该类是在引入的sqljdbc4.jar下的com.microsoft.sqlserver.jdbc包下的SQLServerDriver类
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=aa"; //连接服务器和数据库aa
String userName = "sa"; //默认用户名
String userPwd = "123"; //密码
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL,userName, userPwd);
System.out.println("Connection Successful!"); //如果连接成功控制台输出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
}
%>
</body>