Mysql session-variable in JDBC-string
bin mit dieser Verbindungszeichenfolge eine Verbindung zu mysql von java:
jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8
ist es möglich, die session-variable in den string, so dass SET UNIQUE_CHECKS=0;
ausgeführt werden würde nach der Verbindung zum server? die offensichtliche
jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8&unique_checks=0
scheint nicht zu funktionieren, beruht auf der Tatsache, dass
'jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8&unique_checks=blahblah`
erzeugt keine Fehler.
Prost!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie über die Verwendung sessionVariables:
Ihre Frage ist also mehr "Wie kann ich concat Strings in Java?" ?
Wenn dem so ist, dann verwenden Sie einfach die
+
Betreiber:Alternativ können Sie auch
- String#format()
, wobei Sie verwenden können, die%d
Muster zur Darstellung einer Dezimalzahl:Können Sie
- Anweisung.execute()
laufen so ziemlich jede Aussage der DB versteht, darunter einSET
-Anweisung.Der Vorteil der Verwendung eines URL-parameter oder eine spezielle Methode ist, dass der JDBC-Treiber ist eigentlich bewusst, dass die option eingestellt ist und kann entsprechend reagieren. Dies kann oder kann nicht nützlich oder notwendig für diese Besondere option, aber es ist lebenswichtig für andere Optionen (zum Beispiel Umschalten von autocommit mit so einer Aussage ist eine sehr schlechte Idee).
BalusC, vielen Dank für eine Antwort! eigentlich brauche ich zu tun, die in Talend etl-tool(welche selbst ein java-code-generator) und die einzige Zeile, die ich Bearbeiten können, ist der "jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8" Zeichenkette, die übersetzt wird, zu diesem java-code:
das ist die Beschränkung, die leider nicht den Hinweis, dass sich früher.
Laut die mysql-docs, es gibt keine Möglichkeit, die unique_checks Einstellung, ich denke, dass ich brauchen, um für die andere Lösung als URL-Parameter (Joachim, vielen Dank für erinnerte mich daran, dass diese Dinge sind sogenannte "URL-Parameter" - helfen, eine Menge während googeln 🙂