Bonjour,

Je suis en train de développer une application Java qui doit lancer une procédure estoqué avec un paramètre. Je mets ci-dessous ma procédure et la code Java qui je suis en train d'utiliser:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE DEFINER=`root`@`localhost` PROCEDURE `CLEANTABLE`(IN `TBL` TEXT)
	LANGUAGE SQL
	NOT DETERMINISTIC
	CONTAINS SQL
	SQL SECURITY DEFINER
	COMMENT 'procedure pour effacer les donnés des tables avant l\'importation'
BEGIN
	DELETE FROM `TBL`;
END
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
String tableName = "tblgaznat";
try {
    String sqlTest = "{call cleantable(?)}";
    CallableStatement st = con.prepareCall(sqlTest);
    st.setString(1, tableName);
    System.out.println("tableName : " + tableName + "|| paramètre : " + st.getString(1));
    st.execute();
}
Mais quand je lance mon application, j'ai le System.out.println() et l'erreur suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
tableName : tblgaznat|| paramètre : null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
java.sql.SQLSyntaxErrorException: Table 'antargazdb.tbl' doesn't exist
	at org.mariadb.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:138)
	at org.mariadb.jdbc.internal.SQLExceptionMapper.throwException(SQLExceptionMapper.java:106)
	at org.mariadb.jdbc.MySQLStatement.executeQueryEpilog(MySQLStatement.java:264)
	at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:288)
	at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:338)
	at org.mariadb.jdbc.MySQLCallableStatement.execute(MySQLCallableStatement.java:1234)
	at RapportGenerator.loadGazNatToDatabse(RapportGenerator.java:253)
	at RapportGenerator.main(RapportGenerator.java:74)
Caused by: org.mariadb.jdbc.internal.common.QueryException: Table 'antargazdb.tbl' doesn't exist
	at org.mariadb.jdbc.internal.mysql.MySQLProtocol.getResult(MySQLProtocol.java:942)
	at org.mariadb.jdbc.internal.mysql.MySQLProtocol.executeQuery(MySQLProtocol.java:991)
	at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:281)
	... 4 more
Apparentement le paramètre n'est pas correctement passé à la procédure...

Est-ce que quelqu'un pourrait m'aider svp?
Je vous remercie d'avance pour l'aide...