DataSource.getConnection() en erreur
Mon application est sensée se connecter à une BDD via JDBC. J'ai donc écrit le code suivant :
Code:
1 2 3 4
| final Context lContext = new InitialContext( );
final DataSource lDataSource = ( DataSource ) lContext.lookup( NOM_RESOURCE_JDBC );
final Connection lConnection = lDataSource.getConnection( ); |
... qui plante lamentablement avec l'erreur suivante :
Citation:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Packet for query is too large (4739923 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.)
Au debug, l'appli récupère bien les données de serveur.xml :
Citation:
<Resource auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/bdd"
password="pwd" type="javax.sql.DataSource"
url="jdbc:mysql://192.168.84.18:22/bdd"
username="root" />
(C'est du SSH)
J'arrive bien à me connecter à la BDD via d'autres applis, mais là ça plante à lDataSource.getConnection( ). J'ai augmenté la valeur de max_allowed_packet côté serveur MySQL, mais le problème reste. De toute façon, il ne s'agit pas de la valeur 1048576.
Ça dit quelque chose à quelqu'un ?
Edit : Et tant qu'à faire les détails de l'exception.
Cause : com.mysql.jdbc.PacketTooBigException
SQLState : S1000