2017-07-20 2 views
0

Hier mein Problem, ich möchte mein Java-Programm mit meinem SQL-Server verbinden und es von Client-PC zugreifen, ohne Verknüpfung auf dem Client-PC zu erstellen. ist es möglich zu tun? Ich suche viele Male, aber ich habe die Antwort nicht bekommen.wie jdbc Server mit einem anderen PC zu verbinden

hier ist mein Code für die Verbindung mit dem Server, sondern nur mit dem Server-PC nicht der Client.

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
     String url = "jdbc:sqlserver://serverPC:1433;databaseName=users;user=sa;password=test"; 
     Connection conn = DriverManager.getConnection(url); 

ist es möglich, wie

Class.forName("//serverPC:com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
     String url = "jdbc:sqlserver://serverPC:1433;databaseName=users;user=sa;password=test"; 
     Connection conn = DriverManager.getConnection(url); 

durch die Art und Weise in meinem Code zu setzen, mein Java-Programm, wenn ich es kompilieren und Verknüpfung erstellen im ClientPC seine Arbeit gut, aber ich habe vor kurzem ein Problem, dass die Verknüpfung die Datei nicht erkennen kann, aber wenn der Server neu gestartet wird, funktioniert die Verknüpfung des Programms einwandfrei.

Antwort

0

Es funktioniert jetzt gut, die Täter, warum ich keine Verbindung zum Server herstellen kann, ohne die Verknüpfung zu verwenden, ist der Ordner lib, da er die Datei sqljdbcx.x enthält, die mit dem ServerPC verbunden ist. Alles, was ich tun muss, ist, alle Dateien im Ordner "dist" zu kopieren, damit die Verbindung fehlerfrei funktioniert.

Hier ist der Screenshot des Fehlers. ohne lib-Ordner. (Fehler) enter image description here

mit lib-Ordner. kein Fehler enter image description here

0

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"‌​); lädt die Driver-Klasse aus dem Klassenpfad und hat nichts mit der Verbindung zu tun.

, wenn der SQL-Server auf der externen IP-Adresse zu hören, sollte es funktionieren mit:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
String url = "jdbc:sqlserver://serverPC:1433;databaseName=users;user=sa;password=test"; 
    Connection conn = DriverManager.getConnection(url); 

Vergewissern Sie sich, dass das Glas die Treiberklasse enthält, in dem Classpath von Yor-Anwendung ist.

Verwandte Themen