使用带存储过程的Sql Server OPENROWSET

时间:2012-12-17 10:54:18

标签: sql sql-server excel stored-procedures openrowset

  

可能重复:
  pass dynamic file path of excel to “OPENROWSET”

我的思绪目前已经无序,因为我真的无法解决我的存储过程定义有什么问题。为什么OPENROWSET不接受动态参数。

这段代码只是放了一个红色错误行。到处都是!!!

ALTER PROCEDURE InsertCellNumbers 
  @filePath NVARCHAR(MAX),
  @cityId INT 
AS
BEGIN
  SET NOCOUNT ON;

  declare @provider as nvarchar(30) = 'Microsoft.ACE.OLEDB.12.0';
  declare @databasename as nvarchar(max) = 'Excel 12.0;Database=' + @filePath;
  declare @select as nvarchar(max) = 'SELECT * FROM [Sheet1$]';

  Insert into dbo.IranCellPhoneNumbers
  SELECT codeposti as PostalCode,mobile as Number,CityId
  FROM OPENROWSET(@provider,@databasename,@select);
END

我只想设置excel文件的文件名并运行SP为我插入。我这样做是因为有很多excel文件要导入。

0 个答案:

没有答案