Java程序连接数据库常见故障及问题汇总

以下列出的是同学们在用Java程序连接数据库时遇到的部分常见故障及问题,供大家参考,对照解决问题。


一、安装SQLServer时没有选择混合登录模式,无法使用SQLServer身份验证方式登录。

解决方案如下:
步骤1:打开SQLServer,先用Windows身份验证方式连接服务器。
步骤2:在“对象资源管理器”窗口右击服务器,选择“属性”菜单,打开属性窗口,点击选择页中的“安全性”,然后在右窗格中勾选“SQLServer和Windows身份验证方式”,再点击确定按钮关闭窗口。
步骤3:在“对象资源管理器”窗口依次展开“安全性”、“登录名”项目,右击“sa”用户,选择“属性”菜单,打开属性窗口。先点击选择页中的“状态”,然后在右窗格中勾选“授予”和“已启用”;然后再点击选择页中的“常规”,设置登录密码。在目前的学习阶段,为了便于交流,建议大家都将密码设置成123456。
待确认——以上步骤完成后可能需要重新启动电脑(这是真的吗?还是重启服务就可以?)

二、附加数据库失败,错误号5120,具体信息如下图所示:

解决方案如下:
方案一:
将数据库文件复制到SQLServer默认的DATA文件夹再附加。
方案二:
出现这个错误,是因为没有操作权限,所以只要在Windows操作系统中设置数据库文件的安全属性即可。
步骤1:在Windows系统的资源管理器中右击该数据库文件,选择“属性”菜单—>选择“安全”标签—>选择“编辑”按钮。
步骤2:在选择组或用户名列表中,选择Authenticated Users,在权限列表中选中完全控制。选择"确定"按钮关闭对话框。
设置完以后附加数据库,成功。

三、附加数据库后,数据库显示为只读状态,不可修改。

解决方案如下:
在对象资源管理中右击数据库文件,选择“属性”,在对话框选中“选项”页,在右窗格找到“状态”一栏,发现“数据库为只读”这一项的值为“true”,把它改成“false”就可以。
补充:
如果上述操作无法完成,可以打开“SQLServer配置管理器”,在左窗格中选中“SQLServer”服务,右边列表项中选“SQLServer”,右击属性,打开属性窗口,在“登录”选项卡中将“内置账户”改为“本地服务”。

四、在MyEclipse中运行程序时发生“ClassNotFoundException”异常。错误信息:

lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
……
解决方案如下:
将jdbc驱动程序包加入项目并添加引用。
第1步:在项目中创建lib文件夹,将jdbc驱动程序包(文件名为sqljdbc4.jar)复制到lib文件夹中。
第2步:右击sqljdbc4.jar,选择“Build Path”菜单项的子菜单项“Add to Build Path”,可以看到sqljdbc4.jar被放入“Reference Libra”项中,添加引用成功。

五、在MyEclipse中运行程序时发生“SQLServerException”异常,错误信息如下所示:

com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
解决方案如下:
方案一:
打开“计算机管理”程序,选择“服务和应用程序”中的“服务”,在右窗格中找到“SQLServer(MSSQLSERVER)”(注:括号中是实例名,安装软件时默认未改名就是MSSQLSERVER)服务,确认该服务是否已经运行。如果没有启动。右击选择“启动”命令。
在MyEclipse中运行程序,如果可以测试到连接成功则问题解决。如果该服务已经启动还是不能连接,则按方案二继续检查其它设置。
方案二:
打开“SQLServer配置管理器”,在左窗格中展开“SQLServer网络配置”,选择“MSSQLSERVER的协议”,在右窗格中检查“TCP/IP”协议是否处于禁用状态。如果禁用则右击选择“启用”,并打开其属性,在属性对话框中选择“IP地址”页,检查“IPALL”的TCP端口号是否设置为1433。修改完毕后,按方案一的步骤进入系统服务管理,重新启动SQLServer(MSSQLSERVER)服务。之后在MyEclipse中运行程序,应该可以测试到连接成功。
(补充:Named Piples和VIA协议好象要保持禁用,待确认)

总结

如果感觉步骤写得不清楚,或者还遇到新问题,请加以批正,我们来把文章做得更实用一些。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值