数据库SQLserver2005连接异常处理

连接异常处理方式和步骤

1 驱动是否注册,sqljdbc.jar包是否添加到构建路径lib目录下,若没有,添加后进行测试。如果添加了,检查有单词无书写错误(多写字母或少些字母)。

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

Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:xxx;DatebaseName=数据库名;user=用户名;password=*****");

xxx代表数据库设置的端口号,*****代表数据库密码(帮助文档提示的url没有端口号和数据库名,我在加上以后连接成功!)

2 端口号是否和数据库设置一致。

3 数据库名、用户名和密码是否正确。

4 检查SQLserver2005的TCP协议是否启用,如果没有,设置为启用,远程连接是否启用,没有则启用。在SQL Server Configuration Manager和SQL Server 外围应用配置器中进行相关设置。

自己在这个项目中遇到的异常和常见异常的总结

首先根据Tomcat中的错误代码确定造成异常的原因和代码所在的范围。下面列举的异常的解决步骤对应上面序号

1 没有适合的DriveManage

2 空指针异常(有关数据库连接的)

3 数据库连接失败

在以上的步骤都是在之前的没问题的基础之上的

4 对象名无效  列名 'sname' 无效。com.microsoft.sqlserver.jdbc.SQLServerException: 

造成这个异常的原因的可能有一下原因引起的

1 查询语句有单词书写错误,和表中列名、表名不一致

2 所查询的内容不存在于使用的数据库中或是几个表交叉错误

如果上边所说两个都没错误,还是报对象名不存在可以尝试以下方法

修改 SQL 语句:

sql = "SELECT * FROM Lperson WHERE name=? and password=?"; 
改成
sql = "use [数据库名] SELECT * FROM Lperson WHERE name=? and password=?";

在你的sql语句前加上use[数据库名]应该就能解决了

5. com.microsoft.sqlserver.jdbc.SQLServerException 将截断字符串或二进制数据问题

字段长度超出了定义的字段长。

SQL 异常的排错小技巧:程序中的sql语句现在数据库中运行,查看是否正常,如果不能正常运行,根据提示进行修改,如此反复,知道能正常运行,如果数据库中可以正常运行,在java程序控制台中输出sql语句,看是否和自己要用的语句有什么区别。对列名、字段名无效的异常特别有效。什么错误就一清二楚了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值