1

我想构建一个从 Excel 文件中检索数据的参数化 SQL 查询。

Excel 文件的名称每年都会更改。

这是在 T-SQL 中运行良好的查询(在 SQL Server 2008 R2 Express 上):

SELECT * INTO MobilityData FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=\\UNCPath\Annual_Mobility_Update\DAM2013-3.xls;Extended Properties=Excel  8.0')...
[Sheet1$]

(UNC 路径是网络 UNC 路径,工作正常)

字符串“DAM2013-3.xls”将逐年变化。我想做的是执行一个参数化的存储过程并动态构建动态 SQL ......

像这样的东西:

SELECT @sQry='SELECT * INTO MobilityData FROM OPENDATASOURCE(''''Microsoft.Jet.OLEDB.4.0',
'Data Source=\\sgstore\Shared\operations\DM\Annual_Mobility_Update\''' 
+ @XLFileSource + ';Extended Properties=Excel 8.0'')...[Sheet1$]'

但我似乎陷入了报价地狱,无法编译。

我应该怎么做才能解决这个问题?

我将不胜感激任何提示,钓鱼竿,甚至整条鱼等

谢谢菲利普

4

1 回答 1

1

这是固定代码。希望这有帮助

SELECT @sQry='SELECT * INTO MobilityData FROM OPENDATASOURCE(''''Microsoft.Jet.OLEDB.4.0'',''Data Source=\\sgstore\Shared\operations\DM\Annual_Mobility_Update\''' 
+ @XLFileSource + ';Extended Properties=Excel 8.0'')...[Sheet1$]'
于 2013-01-29T15:29:46.173 回答