Lösung für MySQLSyntaxErrorException beim Herstellen einer Verbindung zu MySQL über Bitronix

Lösung für MySQLSyntaxErrorException beim Herstellen einer Verbindung zu MySQL über Bitronix

Lösung für MySQLSyntaxErrorException beim Herstellen einer Verbindung zu MySQL über Bitronix

1. Entwicklungsumgebung

Ruhezustand-Version: 5.1.0.Final
Bitronix BTM-Version: 2.1.3

2 Informationen zum Ausnahmestapel

Verursacht durch: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Dem Benutzer ''@'localhost' wurde der Zugriff auf die Datenbank 'hibernate' verweigert.
  bei sun.reflect.NativeConstructorAccessorImpl.newInstance0 (native Methode)
  bei sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  bei sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  bei java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  bei com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
  bei com.mysql.jdbc.Util.getInstance(Util.java:360)
  bei com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)
  bei com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
  bei com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
  bei com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)
  bei com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)
  bei com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)
  bei com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)
  bei com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
  bei com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
  bei com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)
  bei com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
  bei sun.reflect.NativeConstructorAccessorImpl.newInstance0 (native Methode)
  bei sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  bei sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  bei java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  bei com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
  bei com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)
  bei com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
  bei bitronix.tm.resource.jdbc.lrc.LrcXADataSource.getXAConnection(LrcXADataSource.java:104)
  ... 33 mehr

3 Analysieren Sie das Problem

Offensichtlich wird der Zugriff verweigert, da keine Berechtigung zum Zugriff auf die MySQL-Datenbank vorliegt.

Als ich den Code öffnete, stellte ich fest, dass es stimmte. Der Code lieferte weder ein Konto noch ein Passwort für den Zugriff auf die Datenbank.

ds.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource");
          ds.getDriverProperties().put(
              "URL",
              Verbindungs-URL != null ? Verbindungs-URL
                  : "jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"
          );
          Eigenschaften dp = ds.getDriverProperties();
          dp.put("TreiberKlassenname", "com.mysql.jdbc.Treiber");
          ds.setDriverProperties(dp);

4. Problemlösung

Fügen Sie es schnell hinzu, das Problem ist gelöst O(∩_∩)O~

...
dp.put("Benutzer","root");
dp.put("Passwort","");
...
ds.setDriverProperties(dp);

Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Site!

Das könnte Sie auch interessieren:
  • So gehen Sie mit dem Fehler beim Einfügen seltener Zeichen in MySQL um (falscher Zeichenfolgenwert)
  • Lösen Sie das Problem, dass dem Benutzer ''root''@''%'' der Zugriff auf die Datenbank ''xxx'' verweigert wurde, nachdem eine Datenbank in MySQL erstellt wurde
  • Lösung für FEHLER 1366 bei der Eingabe von Chinesisch in MySQL
  • Vergleich der Sprachunterschiede zwischen MySQL und Oracle SQL
  • Beispiele für die Verwendung der oder-Anweisung in MySQL

<<:  Ein vollständiges Tutorial zur Verwendung der Axios-Kapselung in Vue

>>:  So deaktivieren Sie Anzeigen in der Terminal-Willkommensnachricht in Ubuntu Server

Artikel empfehlen

Grundlegendes Verständnis und Verwendung der HTML-Auswahloption

Detaillierte Erklärung von HTML (Option auswählen)...

Detaillierte Erklärung der Schleifenverwendung in Javascript-Beispielen

Aus Langeweile habe ich ein paar einfache Übungen...

Detaillierte Erläuterung des einzeiligen Funktionscodes des Datumstyps in MySQL

Einzeilige Funktionen vom Datumstyp in MySQL: CUR...

Docker+Nextcloud zum Erstellen eines persönlichen Cloud-Speichersystems

1. Docker-Installation und -Start yum installiere...

Eine kurze Analyse der Grundkonzepte von HTML-Webseiten

Was ist eine Webseite? Die Seite, die nach dem HT...

Beispielcode einer Vue-Anwendung basierend auf der Axios-Anforderungskapselung

Inhaltsverzeichnis Was ist Axios? Axios-Anforderu...

CSS-Code zum Anordnen von Fotos in Moments

Zunächst können Sie Moments öffnen und mehrere La...

So erben Sie die CSS-Zeilenhöhe

Wie wird die Zeilenhöhe vererbt?Schreiben Sie ein...

Docker installiert MySQL und löst das chinesische verstümmelte Problem

Inhaltsverzeichnis 1. Ziehen Sie das MySQL-Image ...