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

Lassen Sie uns über den Unterschied zwischen MyISAM und InnoDB sprechen

Die Hauptunterschiede sind folgende: 1. MySQL ver...

Einführung in die wichtigsten Browser und ihre Kernel

Trident-Kern: IE, MaxThon, TT, The World, 360, So...

Drei Möglichkeiten zum Teilen der Komponentenlogik in React

Ohne weitere Umschweife sind dies diese drei Meth...

Detaillierte Erläuterung des auf Python basierenden MySQL-Replikationstools

Inhaltsverzeichnis 1. Einleitung Zweites Training...

Wir treiben IE6 alleine in den Untergang

Tatsächlich fragen wir uns jeden Tag, wann IE6 wi...

So stellen Sie verschiedene Mausformen dar

<a href = "http: //" style = "c...

Vue3 erhält die aktuelle Routingadresse

Richtige Antwort Verwenden von useRouter : // Rou...

Eine sehr detaillierte Erklärung des Linux DHCP-Dienstes

Inhaltsverzeichnis 1. DHCP-Dienst (Dynamic Host C...

5 Befehle zur Verwendung des Rechners in der Linux-Befehlszeile

Hallo zusammen, ich bin Liang Xu. Bei der Verwend...

Tutorial zur HTML-Tabellenauszeichnung (9): Zellabstandsattribut CELLSPACING

Damit die Tabelle nicht zu kompakt wirkt, kann zw...