一个用java连接sqlserver的问题
public static void main(String[] args) {
Connection con=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;databaseName=Booking";
con=DriverManager.getConnection(url,"jdbc","123456");
System.out.println(con);
} catch (Exception e) {
e.printStackTrace();
}
}
我自己下载了sqljdbc4 从微软官网上下载的,我也加到eclipse里面build path里面加入了jar饱
可是我运行上面的代码还是报错了
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'jdbc' 登录失败。该用户与可信 SQL Server 连接无关联。
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 sqlserverjdbc.Test1.main(Test1.java:13)
[解决办法]
首先,应该看是不是编译问题,不过这个一般都不会错。
第二,看是否用错了jar包。LZ用sqljdbc4.jar 那就是SQL2008数据库么?
如果是SQL2005建议使用sqljdbc.jar。
第三,看看是不是SQL配置存在问题。连接远程电脑试试。之前我也遇到过无法连接本地电脑数据库的情况。
第四,将localhost改成127.0.0.1。虽然这可能性很小,但环境不同,也有可能发生。