日期:2014-05-20  浏览次数:20791 次

关于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