解决连接SQL Server 2005数据库的问题

 
解决连接SQL Server 2005数据库的问题
2008-06-12 14:15

很久都没在空间发表文章了,因为本人一直都很忙啊,呵呵,忙得都不知道做了些什么,今天上来记录一下刚遇到的问题。

公司有个项目,数据库要求要用SQL2005,以前一直都用SQL2000,现在转用2005遇到了点麻烦,测试连接成功就用了一个上午的时间,突然发觉自己脑筋不好使了,遇到问题不能很快的开窍,^_^.

电脑系统是XP的,所以下了个Microsoft SQL Server 2005 Express Edition,网址是:http://msdn.microsoft.com/zh-cn/express/bb410792.aspx,这个版本好,很小也实用。然后再下个Microsoft SQL Server Management Studio Express工具,注意:SQL2005数据库的安装之前要先装msxml6.msiMicrosoft .NET Framework 2.0 ,具体的安装过程这里就不说了,也很简单,应该很容易搞定的!

装好2005数据库后就下个2005数据库的驱动,网址是:http://www.microsoft.com/downloads/details.aspx?familyid=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=zh-cn,解压后找到那个sqljdbc.jar,把它复制到tomcat/bin目录下,这样启动tomcat后就会自动加载了。

在这里先用myeclipse连接数据库测试一下吧,

.进入MyEclipse Database Browser:

在MyEclipse右边DB browser框 -->右键 选择New。。。如下图

 

Driver Template :在下拉框中选择数据库驱动模板。这里这里选择 Microsoft SQL Server 2005

Driver name :驱动的名字。

Connection URL: 填写时 <>号及<>号中的内容为替代项(即将<>号及<>号中的内容按下面要求替代) 。[ ] 中的内容为选填项(如果要填写 [ ] 中的database项 只要去掉 [ ]号 )。

默认为:jdbc:sqlserver://<server_name>:<port>[;databaseName=<dbname>]

<server_name>内填写服务器的ip ,要是本机就是主机的IP或填写 localhost 表示本机 。

<port>:端口号的配置。 SQL Server 默认1433.

当一切都准备好了后连接时却遇到了问题,出现的问题是:

“到主机 的 TCP/IP 连接失败.。”这个是以前用2000数据库没有遇到过的,想了很久不明白是怎么回事。后来上网找了下资料,终于解决了,原来是动态端口的问题。下面是找到的解决方法:

禁用动态度端口,使用默认的1433端口

1、Microsoft SQL Server 2005 -->配置工具 -->SQL Server Configuration Manager。

2、进入SQL Server Configuration Manager后点击 “SQL Server 2005网络配置” 选择 “ XXXX的协议” (XXXX为实例名。比如实例名为SQLSERVER2005,则显示为 SQLSERVER2005的协议 ) 。

3、.在右边选择 “TCP/IP” , 进入TCP/IP属性对话框。选择"IP地址"栏 可以看到 IP1和IPALL3个 选择栏。 把3个选择栏中的 “TCP动态端口”选项的0去掉为空 ,表示不启用动态端口。在其下面的“TCP端口”填写1433,或者其他无冲突的端口号做为连接时的端口号。

4、选择“SQL Native Client 配置” 点击子菜单 “客户端协议”, 同样在右边选择 “TCP/IP” ,进入TCP/IP属性对话框。查看默认端口号,是否为1433.或者改为你自己的端口号 ,要与前面在“SQL Server 2005网络配置”中的TCP端口一致。

5、 之后, 重新启动SQL SERVER服务。

注意到了这个在下载的2005驱动里的release.txt文件里可以找到20002005加载驱动的区别

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000

这将确保 URL 前缀“jdbc:sqlserver://”由 2005 JDBC 驱动程序处理,而

URL 前缀“jdbc:microsoft:sqlserver://”由 2000 JDBC 驱动程序处理。”

 

PS : 第3点

 3、.在右边选择 “TCP/IP” , 进入TCP/IP属性对话框。选择"IP地址"栏 可以看到 IP1和IPALL3个 选择栏。 把3个选择栏中的 “TCP动态端口”选项的0去掉为空 ,表示不启用动态端口。

这里一定要把IPALL这栏的“TCP动态端口”选项设为空。我试了很多次失败,最后在IPALL这项下的“TCP动态端口“设为空就行了。。。悲剧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值