Ich lasse es als Erinnerung
Umgebung </ b>
Geben Sie td> ein | Werkzeugname td> | Bemerkungen td> |
OS | Windows 10 Pro | |
IDE | Pleiades 2018 | Verwenden Sie die Vollversion von Java td> |
Java | Java8 | |
DB | SQL Server 2017 Developer |
SQL Server JDBC zum Java-Projekt hinzufügen </ b>
① Laden Sie die entsprechende Version von JDBC herunter ② Entpacken Sie nach "C: \ Programme"
Fehlerdetails </ b>
`com.microsoft.sqlserver.jdbc.SQLServerException: TCP / IP-Verbindung zum Host [Servername], Port 1433 fehlgeschlagen. Fehler: "Verbindung abgelehnt: Verbindung herstellen. Überprüfen Sie die Verbindungseigenschaften, eine Instanz von SQL Server wird auf dem Host ausgeführt, die TCP / IP-Verbindung zum Port ist zulässig und die TCP-Verbindung zu diesem Port wird von der Firewall blockiert. Stellen Sie sicher, dass dies nicht der Fall ist. " ``
Ursache </ b>
Wie beschrieben. In meinem Fall ist der obige Fehler aufgetreten, weil ich die TCP / IP-Kommunikation von SQL Server nicht zugelassen habe.
Lösung </ b>
(1) Starten Sie SQL Server Configuration Manager mit "SQLServerManager14.msc" im Ausführungsdialog, indem Sie den in Windows + R angezeigten Dateinamen angeben. (2) SQL Server-Konfigurationsmanager> SQL Server-Netzwerkkonfiguration> Wählen Sie das MSSQLSERVER-Protokoll aus, wählen Sie TCP / IP aus und wählen Sie im Kontextmenü die Option Aktivieren (Rechtsklick-Anzeige). (3) Wählen Sie SQL Server (MSSQLSERVER) in SQL Server Configuration Manager> SQL Server-Dienste aus, wählen Sie im Kontextmenü "Neustart" (Rechtsklick-Anzeige) und starten Sie den SQL Server-Dienst neu. ④ Führen Sie den folgenden Code aus
Testcode zur Verbindungsbestätigung
ConnectURL.java
package testdbconnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectURL {
public static void main(String[] args) {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://[servername:[port];databaseName=[dbname];user=[username];password=[password]";
try (Connection con = DriverManager.getConnection(connectionUrl); Statement stmt = con.createStatement();) {
String SQL = "SELECT TOP 10 * FROM [tablename]";
ResultSet rs = stmt.executeQuery(SQL);
// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println(rs.getString("[columnname1]") + " " + rs.getString("[columnname2]"));
}
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
System.out.println("can't connectioned");
}
}
}
Recommended Posts