Problème de syntaxe importation Excel
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 :
Code:
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; |
L'erreur que cela produit est : Incorrect syntax near '+' et il pointe sur la ligne 'Excel 8.0;Database=' + @Chemin + ';HDR=YES'
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