Bonjour,

Dans un procédure stockée, je fais un insert d'un fichier csv dans une table.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
BULK INSERT #temp_import_srf FROM 'C:\truc.csv'
WITH (
   CODEPAGE        = 'ACP',
   FIELDTERMINATOR = ';', 
   ROWTERMINATOR   = '\n' 
)
Ca fonctionne parfaitement.

Puis j'ai voulu utiliser un paramètre de ma procédure pour remplacer le nom de fichier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
ALTER PROCEDURE [dbo].[import_srf] 
    @fichier_source VARCHAR(255)
AS
BEGIN
...
 
BULK INSERT #temp_import_srf FROM @fichier_source
WITH (
   CODEPAGE        = 'ACP',
   FIELDTERMINATOR = ';', 
   ROWTERMINATOR   = '\n' 
)
Et là, ça ne fonctionne plus.

Msg*170, Niveau*15, État*1, Procédure*import_srf, Ligne*28
Ligne 28 : syntaxe incorrecte vers '@fichier_source'.
Est-il impossible d'utiliser une variable dans ce cas précis ?

Papy !