我在Struts程序连接数据库,测试的时候报错,如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.login.conn.DBConnection.getConn(DBConnection.java:24)
at org.login.conn.DBConnection.execuQuery(DBConnection.java:68)
at org.login.daoimpl.PersonDAOImpl.isLogin(PersonDAOImpl.java:17)
at org.login.struts.test.Test.main(Test.java:18)
Exception in thread "main" java.lang.NullPointerException
at org.login.conn.DBConnection.execuQuery(DBConnection.java:71)
at org.login.daoimpl.PersonDAOImpl.isLogin(PersonDAOImpl.java:17)
at org.login.struts.test.Test.main(Test.java:18)
这是怎么回事,请大家帮忙看一下,先谢了!!!
------解决方案--------------------------------------------------------
源码
------解决方案--------------------------------------------------------
1.服务器端SQL服务启动不正常。
2.用户名密码不对。
------解决方案--------------------------------------------------------
你用这个包
net.sourceforge.jtds.jdbc.Driver
driver=net.sourceforge.jtds.jdbc.Driver
url=jdbc:jtds:sqlserver://localhost:1433;databaseName=loginData
------解决方案--------------------------------------------------------
1.四个String取出来对么?
2.确认密码没问题么?
3.数据库打补丁了么?
4.在catch中加上System.exet(0);这样异常信息会更清晰一些。你现在的异常信息把后面的nullPoint都打出来了。
------解决方案--------------------------------------------------------
还有,防火墙有么。
------解决方案--------------------------------------------------------
你的数据库连接代码是在网上copy的吧?
我怎么好像记得这个密码隐约见到过。。。
要用自己装SQL Server时候设置的密码登陆额~
------解决方案--------------------------------------------------------
恩最好装一下补丁,SQL 2005不清楚。
SQL 2000必须装。
------解决方案--------------------------------------------------------
2005不需要打补丁,但是1433的端口需要手动打开一下!
------解决方案--------------------------------------------------------
先检查一下用户名和密码的正确性