Bonjour,
J'essaie d'importer des données d'un fichier CSV dans une table DB2 via la procédure:
Mais j'ai une erreur à l'exécution de CALL TEST1();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 DROP PROCEDURE TEST1 ; CREATE PROCEDURE TEST1() SPECIFIC BLADERUNNERS.TEST1 LANGUAGE SQL NOT DETERMINISTIC CALLED ON NULL INPUT MODIFIES SQL DATA INHERIT SPECIAL REGISTERS BEGIN DECLARE @sql VARCHAR(800); SET @sql = 'IMPORT FROM ''C:\Data\mydata.csv'' OF DEL METHOD P(1) INSERT INTO MYTABLE(COL2)'; EXECUTE IMMEDIATE @sql; END; CALL TEST1();
L'import se fait correctement si j'exécute directement la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CALL TEST1(); SQL0104N An unexpected token "IMPORT FROM 'C:\Data\mydata.csv' OF DEL METHOD" was found following "BEGIN-OF-STATEMENT". Expected tokens may include: "<space>". SQLSTATE=42601 Statement processed with ERROR.
Remarque: j'arrive à executer correctement la stored proc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 IMPORT FROM 'C:\Data\mydata.csv' OF DEL METHOD P(1) INSERT INTO MYTABLE(COL2);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 DROP PROCEDURE TEST2 ; CREATE PROCEDURE TEST2() SPECIFIC BLADERUNNERS.TEST2 LANGUAGE SQL NOT DETERMINISTIC CALLED ON NULL INPUT MODIFIES SQL DATA INHERIT SPECIAL REGISTERS BEGIN DECLARE @sql VARCHAR(800); INSERT INTO MYTABLE(COL2) VALUES('blabla'); END;
Des idées?
Merci de votre aide
Partager