67,512
社区成员
发帖
与我相关
我的任务
分享
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'myEclipseUser' 登录失败。 ClientConnectionId:c4d48ca5-b061-4656-
82f1-1dded2979990
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:243)
at utils.ConnectionDB.getConnection(ConnectionDB.java:24)
at action.ReaderController.save(ReaderController.java:28)
at action.ReaderController.main(ReaderController.java:107)
java.lang.NullPointerException
at action.ReaderController.save(ReaderController.java:33)
at action.ReaderController.main(ReaderController.java:107)
// 获取数据库的连接
public static Connection getConnection() throws ClassNotFoundException{
// 定义连接数据库的URL,数据库名称,登陆数据库的用户名和密码
String url = "jdbc:sqlserver://localhost:1433;";
String dbName = "databaseName=myEclipseDB;";
String user = "user=myEclipseUser;";
String psw = "password=12345678;";
String connectionUrl = url + dbName + user + psw;
// 定义获取联接的对象
Connection conn = null;
try{
// 获取数据库驱动 JDBC 4.0 会自动加载CLASS,因此可以不手动加载
// Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 获得数据库连接
conn = DriverManager.getConnection(connectionUrl);
// 关闭事务的自动提交
conn.setAutoCommit(false);
return conn;
}catch(SQLException e){
System.out.println("连接数据库失败");
e.printStackTrace();
}
return null;
}
与数据库建立简单连接
使用 sqljdbc.jar 类库时,应用程序必须首先按如下所示注册驱动程序:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
加载驱动程序后,可通过使用连接 URL 和 DriverManager 类的 getConnection 方法来建立连接:
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;user=MyUserName;password=*****;";
Connection con = DriverManager.getConnection(connectionUrl);
在 JDBC API 4.0 中,DriverManager.getConnection 方法得到了增强,可自动加载 JDBC Driver。因此,使用 sqljdbc4.jar 类库时,
应用程序无需调用 Class.forName 方法来注册或加载驱动程序。
调用 DriverManager 类的 getConnection 方法时,会从已注册的 JDBC Driver 集中找到相应的驱动程序。sqljdbc4.jar 文件包
括“META-INF/services/java.sql.Driver”文件,后者包含 com.microsoft.sqlserver.jdbc.SQLServerDriver 作为已注册的驱动程序
。现有的应用程序(当前通过使用 Class.forName 方法加载驱动程序)将继续工作,而无需修改。
sqljdbc4.jar 类库要求使用 6.0 或更高版本的 Java 运行时环境 (JRE)。
有关如何连接数据源和使用连接 URL 的详细信息,请参阅创建连接 URL 和设置连接属性。