Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get and SET Database Server Connection Variable with JDBC

Tags:

java

mysql

jdbc

When i open a JDBC connection to a MySQL database i want to set some database server variable, so for example every time that a connection is established i want to set the variable sqlmode with this value :

SET sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT';

for enabling pipe string concatenation ...

I have to send this parameter in a query statement or can i set this parameter directly on the JDBC Connection ? Is there a property on the JDBC connection that allow set this variable ?

What is the best way to set or retrieve database server variable with a JDBC Connection ?

like image 825
aleroot Avatar asked Jul 23 '26 17:07

aleroot


1 Answers

Have you tried adding it into the getConnection call?

String url = "jdbc:mysql://localhost/test?user=sqluser&password=sqluserpw&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT'";
Class.forName("com.mysql.jdbc.Driver");
Connection c = DriverManager.getConnection(url);

Regards

like image 58
Gigab0rt Avatar answered Jul 26 '26 07:07

Gigab0rt