机房收费系统系列一:运行时错误‘-2147217843(80040e4d)’;用户‘sa’登陆失败

做机房收费系统的时候,首先在SQL server数据库中添加好charge数据库(在对象资源管理器中,右击数据库,点击附加,找到charge的mdf文件,点击确定),然后用ODBC配置好数据库,把机房收费系统安装上,在桌面上创建了快捷方式,点击进入登录界面,输入从数据库中找到的账号和密码,下面就是见证奇迹的时候了。

运行时错误‘-2147217843(80040e4d)’;用户‘sa’登陆失败,为什么会出现这个问题呢?
在网上查了很多,大多数认为错误的原因是这样写的由于SQL Server使用了"仅 Windows"的身份验证方式,恩?不对啊,SQL server登录的时候我不是用windows的身份验证方式登陆的啊,我是以SQL server身份验证登陆的,账号和密码都是对的,要不怎么能进去查看charge里面用户登陆的账号和密码呢?


一个个的排查原因吧,按照笑的博客(往数据库中添加MDF文件遇到的新麻烦http://blog.csdn.net/u010539352/article/details/12082925)查找是不是安全性的问题,结果不是这个的原因,又把SQL server的账号和密码又重新输入了一次,还是不行。在机房收费系统里面还有一个文档,一直认为里面的用户名:sa,密码:123456是自己的SQL server 上的,所以试了这么多次还是不成功,在欢欢师姐的帮助下,把SQL server的密码改成了123456,在ODBC配置数据库中也改了一下密码,输入用户名和密码,然后神奇的事情就发生了。机房收费系统进去了。



错误的原因:在原来系统的connectstring语句中写着自己SQL server的账号和密码呢,与学生信息管理系统一样,对SQL server的密码进行了限制,只要跟他的SQL  server登陆密码保持一样就可以进去了。




总结一下,如果遇到这样的问题,有两种可能,第一种就是由于SQL Server使用了"仅 Windows"的身份验证方式,把它改成以SQL server身份验证方式就可以了,如何修改身份验证方式:http://blog.csdn.net/chenxiaochan/article/details/31776035,推荐一下我的另一篇博客,另一种原因就是数据库的密码和给的系统上的密码不一致,只要改成和它的密码一样就可以了。
原文地址:https://www.cnblogs.com/chenxiaochan/p/7237649.html