【发布时间】:2019-08-28 03:31:08
【问题描述】:
我一直在尝试在 IntelliJ 上运行以下代码,但即使我尝试将 MSSQL JDBC 驱动程序添加到模块依赖项或全局库中,它似乎也不起作用。
public class Main {
public static void main(String[] args) {
testConnection();
}
public static boolean testConnection() {
final String DEFAULT_DRIVER_CLASS = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
try {
Class.forName(DEFAULT_DRIVER_CLASS);
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=testApp");
String query = "Select * from Employee";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
if (rs!=null){
System.out.println(rs);
return true;
}
System.out.println(rs);
return false;
}
catch (ClassNotFoundException e){
e.printStackTrace();
return false;
}
catch (SQLException e){
e.printStackTrace();
return false;
}
}
好像一直有SQLException,这是堆栈跟踪:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ''. ClientConnectionId:1e971545-e8a0-4361-b033-29758a00df94
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:258)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:104)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:5036)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3668)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3627)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2935)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2456)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at Main.testConnection(Main.java:16)
at Main.main(Main.java:9)
我从数据源复制了 url 并将其用于 getConnection()。
【问题讨论】:
-
将您的代码和堆栈跟踪直接发布到问题中。没有图像或屏幕截图。
-
您是否尝试解决其他编译错误?您可以使用 try-catch 临时包围数据库连接逻辑。
-
我刚刚编辑了我上面的帖子,希望对您有所帮助。只有一个编译错误是 jdbc。
-
这是一个编译错误。它与 JDBC 或 MSSQL“不工作”无关。注意
Class.forName()行自 2007 年以来就不再需要了。 -
我已经编辑了我的问题以澄清我的问题,很抱歉给大家带来了困惑
标签: java compiler-errors