我想构建一个从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'将逐年变化。我想做的是执行一个参数化的存储过程并动态构建Dyanamic 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$]'
但我似乎在引用地狱,无法将其编译。
我该怎么做才能解决这个问题?
我会感激任何提示,鱼竿,甚至整条鱼等
由于 菲利普
答案 0 :(得分: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$]'