GlassFish Server stellt keine Verbindung zu SQL-Datenbank (Fehler w.r.t. SQL-Treiber)
Ich bin mit einer Marke neue Entwicklung von pc und testen müssen, die eine persönliche Anwendung, läuft lokal auf einem GlassFish server 3.1.2 und sollte die Verbindung mit einer lokalen SQL-Datenbank namens 'funkOneDB' (meine IDE ist NetBeans 7.2.1). Aber ich kann nicht Holen Sie sich die GlassFish-server mit der Datenbank verbinden, und das problem scheint zu sein, in Bezug auf den (Ort des) SQL-Treiber in der GlassFish-Server-Verzeichnissen (mehr problem die Besonderheiten in ein paar Zeilen).
Ich bin mir ziemlich sicher, dass ich richtig eingestellt, bis der zugehörige JDBC-Ressourcen-und Connection-Pool auf dem GlassFish-Server (als ich mimic-set-up bereits vorhandenen und ordnungsgemäß funktioniert auf einem anderen Entwicklungs-pc).
Den Ressourcen-Details:
- jndi-name: jdbc/FunkResource
- - pool-name: FunkPool
Den (wichtigsten) Pool Besonderheiten sind:
- - pool-name: FunkPool
- resource type: javax.sql.Datasource
- datasource-Klassennamen: com.mysql.jdbc.jdbc2.optional ist.MysqlDataSource
- zusätzliche Eigenschaften entsprechen den Spezifika der XML-GlassFish-Ressourcen der Anmeldung (Benutzername, Passwort, url, etc.; keine Probleme gibt)
Ich zuerst platziert die notwendigen SQL-Treiber in der GlassFish-Server-Verzeichnisse, d.h. die Datei mysql-connector-java-5.1.18-bin.jar unter ..\GlassFish3\GlassFish\domains\domain1\lib\ext.
Doch, wenn ich führen Sie einen ping-test aus der JDBC-Pool "FunkPool' bei GlassFish-server, bekomme ich die folgende Fehlermeldung:
Ping Connection Pool für gescheitert FunkPool. WEB9031: WebappClassLoader unable to load resource [com.mysql.jdbc.SQLError], weil es noch nicht gestartet worden, oder wurde bereits beendet, Bitte überprüfen Sie den server.melden für weitere details.
In den server.log finde ich nur folgende zusätzliche Protokollierung Ausnahme-und Fehler-info:
(i) Ausnahme beim erstellen einer unpooled [test] Anschluss für pool [ FunkPool ], WEB9031: WebappClassLoader unable to load resource [com.mysql.jdbc.SQLError], weil es noch nicht gestartet worden, oder wurde bereits beendet
(ii) RestResponse.getResponse() liefert FAILURE. endpoint = 'http://localhost:4848/management/domain/resources/ping-connection-pool.json
'; attrs = '{id=FunkPool}'
Beachten Sie jedoch, dass, wenn ich die ping-Datenbank funkOneDB von meiner IDE NetBeans über jdbc:mysql://localhost:33066/funkOneDB
es erfolgreich. Wie bereits erwähnt, werden die Anmeldeinformationen und andere Daten, die ich für diese IDE-basierten ping sind die gleichen Daten, die ich verwenden in der JDBC Connection Pool.
Suchte ich für das problem auch auf stackoverflow für einige. Und ich habe einige Leute darüber zu reden, wie
Glassfisch MySQL-ping-FEHLER (keine Antwort von niemanden), oder
Kämpfen, erstellen, MySQL Connection Pool auf Glassfish (versucht, die Lösung, d.h. Inbetriebnahme des SQL-Treiber eine Ebene nach oben in ..\GlassFish3\GlassFish\domains\domain1\lib\, aber das schafft andere Fehler, auch nach Neustart des Glassfish-server), oder
GlassFish nicht be-connector
(habe sogar versucht, diese Lösung, kein Erfolg).
Kann mir jemand helfen, dieses problem lösen? Vielen Dank im Voraus!
Mit freundlichen GRÜßEN,
Heinz
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ort der mysql-Treiber in das lib-Verzeichnis des Projektes. Führen Sie dann eine saubere-und-bauen. Es ist auch hilfreich, um netbeans kommunizieren Sie direkt mit Ihrer Datenbank. Dies ermöglicht Ihnen die Ansicht der Datenbank-Struktur und den Inhalt der Datenbank direkt aus Ihrer IDE. Für die Hilfe bei der Integration von MySQL mit netbeans, schau mal hier: netbeans.org/kb/docs/ide/mysql.html
Mein Freund, ich hatte dieses gleiche Ausnahme:
Die Ursache meiner Fehler war, dass ich setzen Sie falsche Anmeldeinformationen. Überprüfen Sie Ihre Anmeldeinformationen in Ihrem client DB-App (SQL Developer, zum Beispiel).
Ich hatte das gleiche problem mit SQL-server und Netbeans. Um es zu beheben, lege ich den sqljdbc.jar in der java-direcory "Java\jdk1.8.0_121\lib-Verzeichnis" und es funktioniert 🙂
Ich habe gerade spebnt 10 Stunden auf diesen bug.