Bonjour,
J'ai un bout de code qui me permet d'importer des données d'un fichier Excel, mais je n'arrive pas à le faire fonctionne à cause d'une erreur de syntaxe. Le chemin du fichier est envoyé en paramètre à ma procédure.
Voici le code :
L'erreur que cela produit est : Incorrect syntax near '+' et il pointe sur la ligne 'Excel 8.0;Database=' + @Chemin + ';HDR=YES'
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
23
24
25
26
27 CREATE PROCEDURE LectureExcel ( @Chemin nvarchar(1000)) AS BEGIN TRY BEGIN TRANSACTION Insert into Elements (No_element, Nom_elem, Desc_elem, Tps_elem) Select No_element, Nom_elem, Desc_elem, Tps_elem FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=' + @Chemin + ';HDR=YES', 'SELECT No_element, Nom_elem, Desc_elem, Tps_elem FROM [Feuille1$]'); COMMIT TRANSACTION END TRY BEGIN CATCH IF XACT_STATE() = -1 BEGIN ROLLBACK TRANSACTION RETURN END; IF XACT_STATE() = 1 BEGIN COMMIT TRANSACTION END; END CATCH;
Mais je n'arrive pas à comprendre pourquoi la concaténation ne se fait pas entre mon paramètre et ma String dans le OpenRowSet.
Merci,
Évans
Partager