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

来源:互联网 发布:mac制作 win7安装u盘 编辑:程序博客网 时间:2024/05/17 01:04
 很久都没在空间发表文章了,因为本人一直都很忙啊,呵呵,忙得都不知道做了些什么,今天上来记录一下刚遇到的问题。

公司有个项目,数据库要求要用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。。。如下图

解决连接SQL Server 2005数据库的问题 - 八尺琼 - 思灵月

解决连接SQL Server 2005数据库的问题 - 八尺琼 - 思灵月

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端口

1Microsoft 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地址" 可以看到 IP1IPALL3 选择栏。 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 驱动程序处理。”

0 0
原创粉丝点击