这几天由于一个项目启动,预采用JAVA平台,我之前的项目中都用的.NET,于是赶紧充电,开始学MyEclipse下的javaweb开发。数据库选用的Sql Server 2005,遇到的第一个问题就是数据库连接的问题,主要遇到两个问题,在网上baidu了白天,有的解决方案按照办法弄了,也不管用,好不容易,今天终于连接成功,以下就依照遇到问题的顺序,介绍一下具体配置时候需要注意的事项。
Sql Server 2005 和Eclipse的连接主要有两种方式,一种是利用Eclipse中database explorer进行连接,另外一种就是在程序中写代码连接,无论哪一种,大致方法是一致的,前者配置好了,后者也就差不多了。
首先是安装。需要安装 MyEclipse,JDK,Tomcat(可选),sql server 2005,数据库驱动(jdbc for sql server 2005)这没太多问题,具体可以参考以下两篇:
http://blog.163.com/hon-g-liang/blog/static/57812046200953043325981/
http://blog.csdn.net/fengxingzhejml2008/archive/2009/03/28/4032434.aspx
安装完毕,就是连接了。
以下以database explorer的连接为例:
在database explorer-new,打开创建连接窗口,如图:
解释一下每个设置:
driver template:就是连接的数据库类型,这里当然是Microsoft Sql Server 2005。
driver name:给这个连接随便起个名字吧。
connection url:连接的url。每个数据库,甚至版本不同,这个url都不一样,可以在网上找,我这个是jdbc:sqlserver://127.0.0.1:1533;databaseName=test
其中127.0.0.1是数据库所在的电脑ip,这个是本机,1533是连接的端口,Sql Server 默认是1433,我这里由于和另外一个服务的端口1433冲突了,所以我给设置成1533了,如何设置,后面说。test是连接的数据库的名称。
user name:当然是数据库的用户名喽。
password:上面这个用户名的密码。
driver jars:就是之前下载的jdbc for sql server 2005,解压缩后,点击右面的add jars,选择这个jar即可。
driver classname:就能选一个,就选了吧。
至此,连接配置按说完毕,点击test driver按钮,按说可以连通了,就在这时,
出现了第一个问题:(到主机的TCP/IP连接失败)
搜索发现,这个问题主要是由于两个问题造成的:
1.sql server 2005默认没有启用TCP/IP 连接。这个问题的解决办法:
启动sqlserver2005中的TCP/TP协议。点击 Microsoft SQL Server 2005-配置工具->sql server configure Manager。打开后点击网络配置,选择sqlexpress协议(看准了哦)然后在右边窗口的TCP/IP上右击,点击启动。然后,选择属性,进入如下图所示界面:
最后一项就是设置端口号的,默认是1433,为了防止冲突,我改为1533。其他项,可以默认即可。
还有一点,我们必须重启sqlserver服务。 Microsoft SQL Server 2005-配置工具->sql server configure Manager,点击最上面的sql server2005服务,点击右侧的SQLServer那两个选项(SQLServer(sql express)和SQLServer(mssqlserver)),都把他们先停止然后再启动,直接点击重启好像会出现问题,呵呵。
ok这样就可以了。
2.相关服务没有启动。解决办法:
这个问题还可能就是虽然配置启用TCP/TP协议,但是上面的SQLServer(sql express)服务没有启动,造成的,启动了这个服务即可。
之所以我发现这个原因,就是因为Microsoft SQL Server 2005-配置工具->sql server configure Manager。打开后点击网络配置,这里面还有一个叫mssqlserver的服务,我它里面的TCP/TP我就设置成了端口号1433,结果上面那个sql express中即使设置了端口也是1433,那么,这两个服务不能同时启动,因为端口号冲突,所以我改为1533了。
那么设置好了,再次点击test driver按钮,
出现了第二个问题:(该用户与可信 SQL Server连接无关联)
这个问题让我郁闷了好久啊!
这个问题还是由于SQL Server 2005的默认设置造成的:默认情况下SQL Server 2005服务器身份验证模式为“windows 身份验证模式”,这种情况下,即使你输入什么用户名和密码,它都不会理睬,而出现上述问题。解决方法:
这个容易啊,因为你用的用户名和密码,对于你要访问的数据库,没有权限,知道如何做了吧。
ps:这一个小小问题折腾了大半天时间,也希望给遇到此类问题的人们一点参考吧。
还有,csdn的 blog真不错,以前别的blog写技术文章,真麻烦!~
步骤一:
1.打开Microsoft SQL Server 2005-SQL Server Management Studio(SQL Server Manager管理器)(用Windows身份验证方式)