2010-04-30 74 views
0
Procedure USP_UploadTraining 
@filePath varchar(100) 
AS 

BEGIN 

Insert into Training_TRNS (EmpName,EmpJobFunction,EmpRegion,SpeCourse_ID,status,DueDate) 
sCreate elect F2+' '+F3 as Name,F4 as JobFunction, F6 as EVPRegion, F7 as CourseTitle,F8 as Status, convert(varchar,F9,101) as DateAcq 
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database='@filePath'', 'SELECT * FROM [Sheet1$]') 
where f2!='First Name' 

END 


it's give syntax error can anyone this modify. 

回答

0

你需要使用Sp_ExecuteSql對於這一點,因爲你不得不更換@filePath當您運行查詢

嘗試以下查詢

Create Procedure USP_UploadTraining 
@filePath varchar(100) AS 

BEGIN 
DECLARE @ParmDefinition nvarchar(500); 
SET @ParmDefinition = N'@filePath1 varchar(100)'; 
DECLARE @SQLString nvarchar(max); 

SET @SQLString='Insert into Training_TRNS (EmpName,EmpJobFunction,EmpRegion,SpeCourse_ID,status,DueDate) 
select F2+'' ''+F3 as Name,F4 as JobFunction, F6 as EVPRegion, F7 as CourseTitle,F8 as Status, convert(varchar,F9,101) as DateAcq 
FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', 
''Excel 8.0;Database= @filePath'', ''SELECT * FROM [Sheet1$]'') 
where f2!=''First Name''' 


EXECUTE sp_executesql 
    @SQLString 
    ,@ParmDefinition 
    ,@filePath1 = @filePath 
    ; 


END 
+0

過程需要參數「@statement」類型爲'ntext/nchar/nvarchar'。 通過錯誤 – 2010-04-30 10:13:13

+0

在我的末尾沒有語法錯誤 – 2010-04-30 10:43:56

+0

感謝您的幫助和您的代碼是正確的,但是當我執行此代碼,然後通過此錯誤。 如果你可以解決這個問題,那麼請嘗試.....它非常緊迫。 我感謝您的幫助。 – 2010-04-30 10:45:36