问题简述:
今天拷了一个JSP的Web实例,由于先前已将Tomcat5.5.20的cof目录下的server.xml修改过了,将默认的虚拟目录设为D:/webapps,故在此只将要发布的Web应用拷至D:/webapps,然后在D:/Tomcat 5.5.20/conf/Catalina/localhost下添加了一个<content>片断。接下来对MSSQL2K进行了数据库文件(Web应用自带的)的导入。按理说这样就该可以了,但是一在浏览器里敲入地址,就出现了异常页面。
Tomcat5.5.20服务器显示的错误信息为:
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
在网上找了半天,终于找到个解决方法,详情如下:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
这一问题一般是由于SQL Server未集成Windows身份验证导致的,所以解决方案为:
1 打开SQL Server企业管理器。
2 选择服务器名称上右键选择“编辑SQL Server注册属性”,然后在对话框中选择“使用windows身份验证”。
3 试试一试,不行。在看看安全性设置
4 同样右键,选择“属性”,然后打开“安全性”选项卡。
5 在选项卡中,选择身份验证为“SQL Server和 Windows ”,其他不变 6
OK,成功了。
我照者操作了,结果还是没OK,现在又出了新问题,显示如下:
用户 'sa' 登录失败。
这回网上算是找不到相关的资料了,不过看到有关数据库‘sa’密码的文章,于是想是不是密码的问题,把企业管理器打开一看,发现密码框里有6个‘*’,这么说是有6位的密码了,可我记得在安装时明明没有设置密码啊。这就奇怪哦了。我又看了一下源文件,发现写的是conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_board;user=sa;password=");
看来用的果然是空密码啊,难怪连接不上数据库。我又到网上转了一圈,结果就更困惑了,因为大家都说MSSQL2K默认‘sa’用户的密码就是为空。看来一定是刚才操作时不知怎么的又给‘sa’设置了新密码。暂时认为这就是症结所在吧,于是试着将‘sa’密码重新设置成了空,再次输入连接,这次果然就OK了哈。同时也证明了我的推断是正确的。