当前位置: 代码迷 >> Java相关 >> 关于java连接sql2008的有关问题
  详细解决方案

关于java连接sql2008的有关问题

热度:7422   发布时间:2013-02-25 21:48:55.0
关于java连接sql2008的问题
学校要求做个管理系统,想通过JAVA连接SQL2008,安装好了jdbc,在SQL2008里面也建好了登录用户,连接方式也改成了SQL和WINDOWS都可以登录,也建好了yangkuan这个登录用户,并且给他分配了数据库所有者的角色,也在服务器里面建好了Test数据库,可是在eclipse里面运行如下程序报错,一晚上的调试都无法正常登录服务器,请教高手- -
Java code
package test1;import java.sql.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Connsql {/*** @param args*/public static void main(String[] args) {   // TODO Auto-generated method stub  try {        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").        newInstance();        System.out.println("数据库驱动程序注册成功!");        String url =        "jdbc:sqlserver://118.114.34.16:1433;DatabaseName=Test";        String user = "yangkuan";        String password = "yankguan1";        Connection conn = DriverManager.getConnection(url, user, password);        System.out.println("数据库连接成功");        }        catch (Exception e) {        e.printStackTrace();        System.out.println("数据库连接失败");        }    }}

错误信息:
数据库驱动程序注册成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'yangkuan' 登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2532)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1929)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
数据库连接失败
at test1.Connsql.main(Connsql.java:25)
请教到底怎么才能让JAVA顺利连接到SQL 2008阿?

------解决方案--------------------------------------------------------
打印出了数据库驱动程序注册成功
说明驱动已经加载
问题应该出在url上面吧
检查下用户名 密码 和服务器IP
------解决方案--------------------------------------------------------

"jdbc:sqlserver://118.114.34.16:1433;DatabaseName=Test"; 
改成
"jdbc:microsoft:sqlserver://118.114.34.16:1433;DatabaseName=Test";

还有 看看你的密码对不对
String user = "yangkuan"; 
String password = "yankguan1"; 
yankguan1
------解决方案--------------------------------------------------------
我也不是很明白 基本没怎么操作数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"). 
newInstance(); 
我一般都是用Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

你再试试
------解决方案--------------------------------------------------------
把那个IP地址改为127.0.0.1
  相关解决方案