Java >> Java tutorial >  >> Tag >> Jdbc

Hvordan sender man sessionsvariabler i JDBC url korrekt?

Prøv dette:

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

Hvis du har brug for at tilføje mere end én sessionsparameter, kan du gøre det sådan her:

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

Dokumentationen for MySQL Connector/J Configuration Properties er blevet opdateret siden med en bedre beskrivelse, især når det kommer til indstilling af flere systemvariabler i forbindelses-URL'en:

sessionVariables

En komma- eller semikolonsepareret liste over navn=værdi-par, der skal sendes assET [SESSION] ... til serveren, når driveren opretter forbindelse.

Siden version:3.1.8

Hvilket resulterer i URL'er som denne :

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

Semikoloner kan bruges i stedet for kommaer. En blanding af de to kan bruges inden for den samme URL.

Dette vil kun virke for systemvariabler, der har en SESSION omfang (du kan finde ud af, hvilke der kan indstilles til SESSION -niveau ved at se på listen over serversystemvariabler). Forbindelsen vil mislykkes, hvis variablen ikke eksisterer, hvis den ikke er en serversystemvariabel, eller hvis dens omfang er GLOBAL -kun.


Java tag