Ich versuche, eine Verbindung zu einem lokalen SQL-Server mit Java und Microsoft SQL Server. Ich benutze SQL Server-Authentifizierung.Kann keine Verbindung mit SQL-Server mit Java
Hier ist der Code:
import java.sql.*;
public class Main {
public static void main(String[] args) {
String userName ="testlogin2";
String password ="pass";
String url ="jdbc:sqlserver://localhost/LabNoteMap;integratedSecurity=true;"; //LabNoteMap beeing target db
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("end");
}
}
und die Stacktrace:
"C:\Program Files\Java\jdk-9\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\lib\idea_rt.jar=63510:C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Deus\IdeaProjects\testMYSQL\out\production\testMYSQL;C:\Users\Deus\Desktop\jdbc\sqljdbc_6.0\enu\jre8\sqljdbc42.jar Main
end
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost/LabNoteMap, port 1433 has failed. Error: "localhost/LabNoteMap. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2369)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:551)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1963)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:678)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
at Main.main(Main.java:13)
Process finished with exit code 0
auch einige ss:
Beachten Sie auch, dass in TCP-Server-Konfiguration die TCP/IP aktiviert ist und der Port auf 1433 festgelegt ist.
Ich denke, könnte eine Firewall sein? aber nicht sicher, wie man danach sucht, oder vielleicht etwas anderes?
Ihre Firewall überprüfen, ob es zu sehen Es wird protokolliert, welche Anwendung versucht hat, eine Verbindung zu Ihrer Datenbank herzustellen. – Stultuske
Ihre URL ist ungültig. Bitte überprüfen Sie [Aufbau der Verbindungs-URL] (https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the -connection-url) der SQL Server-JDBC-Treiberdokumentation auf der Microsoft-Website. Sie haben den Fehler gemacht, anzunehmen, dass alle JDBC-Treiber derselben Struktur für ihre URL folgen, sie nicht. –