Neu Verbindung: Java - SQL Server der Wawi

idjgxd

Neues Mitglied
29. Mai 2019
6
0
Hallo zusammen,

ich bin ziemlich neu im Bereich JTL Wawi und habe eine Java-Anwendung geschrieben, die auf meine Datenbank zugreifen soll. Leider gelingt es mir nicht, eine Verbindung erfolgreich herzustellen.

Hier ist mein Quellcode:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class MySQLConnection{
private static Connection con = null;


private MySQLConnection(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // Datenbanktreiber für JDBC Schnittstellen laden.

// Verbindung zur JDBC-Datenbank herstellen.
con = DriverManager.getConnection("
jdbc:sqlserver://xxx:49960;" +
"databaseName=eazybusiness;integratedSecurity=true;");
);
} catch (ClassNotFoundException e) {
System.out.println("Treiber nicht gefunden");
} catch (SQLException e) {
System.out.println("Verbindung nicht moglich");
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
System.out.println("VendorError: " + e.getErrorCode());
}
}
Mein Problem ist, dass ich mir unsicher bin, welchen Servernamen und welchen Port ich angeben muss. Wenn ich im Server Manager nachschaue, steht beim Servername „xxx\JTLWAWI“. Wenn ich versuche, den Server anzupingen, funktioniert es nicht. Gebe ich im cmd den Servernamen ohne \JTLWAWI ein, klappt es fehlerfrei. Heißt das, ich muss in Java als Servername auch ohne \JTLWAWI arbeiten?

Zum Port: Standard ist 1433. Da ich zwischenzeitlich zwei Datenbanken hatte, gehe ich aber davon aus, dass ich mit UDP 1434 arbeiten muss. Wenn ich wiederum in cmd nachsehe, welcher Port für sqlservr.exe zuständig ist, wird mir 49960 angezeigt.
Ich habe es übrigens auch mit telnet getestet; dort klappt es mit dem Servernamen ohne \JTLWAWI (wie oben beschrieben) und Port 49960. Aber nicht in Java.

Wie ich es drehe und wende, klappt die Verbindung aber nie...
Ich habe schon einiges ergoogelt, die Ports freigegeben, aber nichts hilft mir weiter. Vllt übersehe ich etwas? Wäre für jede Anregung dankbar!

Fehlermeldung im Output:
Verbindung nicht moglich
SQLException: Fehler beim Herstellen der TCP/IP-Verbindung mit dem Host 'xxx', Port 49960. Fehler: 'Der Treiber hat eine unerwartete Antwort vor der Anmeldung erhalten. Überprüfen Sie die Verbindungseigenschaften, und stellen Sie sicher, dass eine SQL Server-Instanz auf dem Host ausgeführt wird, die TCP/IP-Verbindungen am Port annimmt. Dieser Treiber kann nur mit SQL Server 2000 oder höher verwendet werden.'. ClientConnectionId:27c5b76d-a3ff-420b-b0c8-2696dd40153e
SQLState: 08S01
VendorError: 0
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
4.114
542
Arnsberg, Sauerland
Ich kann nur eine Mutmaßung anstellen: Stell mal einen festen Port für die Wawi-Datenbank ein und überprüfe ob TCP/IP für diese Datenbank aktiv ist.
Kommst du mit der Wawi an die Datenbank? Evtl. als Servername noch die IP nehmen ...
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
Wichtig: Du musst den Instanznamen (das \JTLWAWI) in der Verbindungszeichenfolge mit angeben!
Es müsste also "jdbc:sqlserver://xxx:49960\JTLWAWI;" sein...
 

darthvader

Aktives Mitglied
29. Juni 2014
56
10
wenn ich mich recht erinnere ist der Connect-String `jdbc:sqlserver://<servername>\<instancename>:<port>`

D.h. port und Instanzname müssen vertrauscht werden.
 

idjgxd

Neues Mitglied
29. Mai 2019
6
0
Stell mal einen festen Port für die Wawi-Datenbank ein und überprüfe ob TCP/IP für diese Datenbank aktiv ist.
Kommst du mit der Wawi an die Datenbank? Evtl. als Servername noch die IP nehmen ...

Momentan werden mir diese Ports für die Datenbank angezeigt. Bei den ersten beiden habe ich die Portnummer geändert und die Null bei TCP Dynamic Ports entfernt. Mache ich das richtig? Soll ich die anderen Felder genauso bearbeiten?
Die Verbindung zwischen Datenbank und Wawi funktioniert auf jeden Fall.
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    36,2 KB · Aufrufe: 14
  • Unbenannt2.PNG
    Unbenannt2.PNG
    26 KB · Aufrufe: 14

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
4.114
542
Arnsberg, Sauerland
Momentan werden mir diese Ports für die Datenbank angezeigt. Bei den ersten beiden habe ich die Portnummer geändert und die Null bei TCP Dynamic Ports entfernt. Mache ich das richtig? Soll ich die anderen Felder genauso bearbeiten?
Die Verbindung zwischen Datenbank und Wawi funktioniert auf jeden Fall.

Hallo,

ich lasse immer die Dynamic Ports bei 0 und die TCP Ports leer
Ganz unten unter IPAll stelle ich unter TCP Port dann den individuellen Port, z.B. 45678 ein, das reicht ...
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
4.114
542
Arnsberg, Sauerland
Laut Microsoft Server Management Studio ist der Servername „xxx\JTLWAWI“ (siehe Anhang) und müsste der Instanzname nicht der Name der Datenbank sein? Also: „xxx\JTLWAWI\eazybusiness“?

Ich finde bei Microsoft folgende Information:

jdbc:sqlserver://[serverName[\instanceName][:portNumber]]

würde in deinem Falle heißen:

jdbc:sqlserver://JENNIEGIRANFBB5\JTLWAWI:45678

Vorausgesetzt du setzt den Port auf 45678 und deine Wawi-Instanz heisst JTLWAWI
 
  • Gefällt mir
Reaktionen: idjgxd

idjgxd

Neues Mitglied
29. Mai 2019
6
0
jdbc:sqlserver://JENNIEGIRANFBB5\JTLWAWI:45678

Ich denke, ich habe das verstanden und korrekt umgesetzt. Zumindest wird nicht mehr angezeigt, dass die Verbindung nicht möglich ist. Wenn ich nun allerdings meine Abfrage durchführe, wird angezeigt:

com.microsoft.sqlserver.jdbc.SQLServerException: Es wurde kein Resultset von der Anweisung zurückgegeben.

Im MS SQL Management Studio funktioniert die Abfrage jedoch... Ist vllt doch die Verbindung fehlerhaft? Oder liegt es am Quellcode:

Statement query;
try {
query = con.createStatement();

String sql = "USE eazybusiness;";
query.executeQuery(sql);
// Tabelle anzeigen
sql = "SELECT kArtikel, fVKNetto, fUVP FROM tArtikel;";

ResultSet result = query.executeQuery(sql);

// Ergebnisstabelle durchforsten
while (result.next()) {
String kArt = result.getString("kArtikel");
String fVKNet = result.getString("fVKNetto");
String fUVP = result.getString("fUVP");
String info = kArt + ", " + fVKNet + ", " + fUVP;

System.out.println(info);
}
} catch (SQLException e) {
e.printStackTrace();
}
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    30,1 KB · Aufrufe: 9

IT-WEFA

Gut bekanntes Mitglied
3. April 2019
262
19

Hier ist dein Fehler
sql = "SELECT kArtikel, fVKNetto, fUVP FROM tArtikel;";
" ; " in deiner SQL muss raus!

mit welcher IDE arbeitest du ? Solltest sowas immer in ein Try - Catch ausführen!

Probier das mal

Code:
 String SQL = "SELECT * .... ";

        try {
            PreparedStatement pStmt = con.prepareStatement(SQL);
            ResultSet rs = pStmt.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getString("ColumnName"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }


Versuch mit prepareStatement bzw executeStatement zu arbeiten.
 
Ähnliche Themen
Titel Forum Antworten Datum
WAWI 1.8.12.0 stürzt ab, wenn die Verbindung zur Datenbank unterbrochen wurde JTL-Wawi 1.8 18
Verbindung zu Kundencenter geht verloren und Lizenz muss erneut abgteglichen werden JTL-Wawi 1.8 16
Neu JTL-Installation- Verbindung zur Datenbank -SA Kennwort Installation von JTL-Wawi 22
keine Verbindung zur Datenbank JTL-Wawi 1.8 3
Neu Nach Installation eines neuen SQL Servers klappt die Verbindung vom Benutzer-PC zum Server-PC nicht mehr. Installation von JTL-Wawi 5
Grafana Datenbank verbindung nicht möglich? JTL-Wawi 1.8 1
Neu Keine Verbindung zu Webshop - Error 500 WooCommerce-Connector 4
Neu Verbindung Mobile Server fehlgeschlagen, falsche Datenbankversion JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Logfile: SQL Fehler, aber warum? JTL-Shop - Fehler und Bugs 2
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Neu Erstinstallation JTL WaWi 1.8.12 - heruntergeladen wird SQL Express 2017 _statt_ der empfohlenen 2022 Version Installation von JTL-Wawi 8
Neu MS SQL Server 2022 oder MS SQL Server 2022 Express? Installation von JTL-Wawi 8
Neu SQL-Fehler bei Volltextsuche und Sonderzeichen JTL-Shop - Fehler und Bugs 0
Neu SQL-Abfrage bei Kundenanlage JTL-Wawi 1.7 2
Neu einfache SQL Verknüfpung zweier Tabellen, z.B. Artikel mit ArtikelBeschreibung 1.6.46.1 Gelöste Themen in diesem Bereich 13
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Neu SQL Ausgabe der Varko-Auswahl eines Artikels, mehrsprachig Tabelle zwei mal auf sich Joinen? User helfen Usern - Fragen zu JTL-Wawi 5
Neu SQL Abfrage in Excel User helfen Usern - Fragen zu JTL-Wawi 12
Neu SQL-Erfahrene vor - Nach Datenrettung - fehlende Aufträge lassen sich nicht einfügen - Ideen? User helfen Usern 4
Neu Fehler SQL-Schema importieren bei Neuinstallation Installation / Updates von JTL-Shop 7
Neu Update MS SQL 2014 auf MS SQL 2022 User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL Abfrage Artikelbezeichnung auf Englisch für Artikeletikett User helfen Usern - Fragen zu JTL-Wawi 4
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu MS SQL 14 Express wird langsam voll. Welche Lienzen benötigen wir? Bitte um Hilfe Eigene Übersichten in der JTL-Wawi 27
Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch Eigene Übersichten in der JTL-Wawi 8
Upgrade von SQL Server 2014 auf höhere Version JTL-Wawi 1.8 4
1.8.11.0 - Worker SQL lässt System hängen JTL-Wawi 1.8 0
Neu List&Label Merkmale auf Etiketten (SQL) Gelöste Themen in diesem Bereich 3
Neu SQL Server Express 2017 auf 2022 Update Installation von JTL-Wawi 10
Neu Nach SQL Server neuinstallation Benutzer gelöscht? JTL-Wawi - Fehler und Bugs 3
Neu Versandart + Zahlungsart in Rechnungskorrektur (SQL) User helfen Usern - Fragen zu JTL-Wawi 10
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
1.8.10.0 - SQL-Job Performance-Optimierung JTL-Wawi 1.8 24
Neu SQL 2017 auf 2022 updaten (express) User helfen Usern - Fragen zu JTL-Wawi 1
Neu SQL Abfrage über ODBC für Bewegunghistorie (WMS) Eigene Übersichten in der JTL-Wawi 4
Komplexe SQL Abfrage zu gelieferten Artikeln mit eigenen Feldern - Hilfe gesucht JTL-Wawi 1.8 1
SQL Abfrage alle Aufträge ohne Lieferschein JTL-Wawi 1.8 2
SQL ifGetPrice liefert nur netto Preise, wie komme ich an Brutto ran? JTL-Wawi 1.7 4

Ähnliche Themen