2014-10-17 10 views
6

Devo aumentare group_concat_max_len. Non posso farlo preparestatement, e anche io non posso farlo nel file mysql my.conf.Come passare correttamente le variabili di sessione nell'URL JDBC?

Ho trovato su mysql docs che esiste un'opzione per passare le variabili di sessione in url. Ma non c'è esempio, ho cercato di fare in quel modo:

jdbc.url=jdbc:mysql://xxxx.xx.xx.xx/dbName?sessionVariables=group_concat_max_len:204800 

e ho questa eccezione:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':204800' at line 1 

E inoltre ho provato come in questo modo:

jdbc.url=jdbc:mysql://xxxx.xx.xx.xx/dbName?sessionVariables=group_concat_max_len,204800 

perché la documentazione ufficiale dice:

sessionVariables 

A comma-separated list of name/value pairs to be sent as SET SESSION ... to the server when the driver connects. 

Since version: 3.1.8 

Qualche idea ???

risposta

12

Prova questo:

jdbc.url=jdbc:mysql://xxxx.xx.xx.xx/dbName?sessionVariables=group_concat_max_len=204800 
0

Se avete bisogno di aggiungere più di un parametro di sessione si può fare in questo modo:

jdbc:mysql://localhost/database?sessionVariables=FOREIGN_KEY_CHECKS=0&sessionVariables=SQL_SAFE_UPDATES=0 
+0

Può spiegare che cosa è diverso nell'URL rispetto al PO di URL e come aiuta? –

+0

Se dai un'occhiata alla documentazione ufficiale di Oracle qui [link] (https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html) tu scopriremo che è una specie di confusione. Si afferma che i parametri dovrebbero essere indicati come un elenco di valori separati da virgola che in realtà non è chiaro. L'esempio precedente chiarisce come è possibile impostare due o più parametri di sessione. – Ned

Problemi correlati