2013-03-11 127 views
0

我需要通过SSIS持续地将多个Excel文件加载到数据库(SQL Server 2008 R2)中。我面临的问题是某些文件需要操作,例如某些标题行会随着每个月有多少实际标题行而变化(有时可能有15个,有时可能有17个),而且sheetname不一致月份。 此外,有些文件在其中有其他数据源连接,因此偶尔出现的消息框会弹出询问我是否想刷新数据或启用内容。OPENDATASOURCE替代品

因为MS Office是一个客户端应用程序,并不是真的意味着要在后台自动运行,所以我需要一种方法来通过我们的调度程序将这些数据加载到我们的服务器上(一个SSIS包以64位模式运行,关闭其他SSIS包)。

我发现了一种方法来从Excel文件中提取sheetname而不必在服务器上安装MS Office(这样可以消除一个问题)。我发现OPENROWSET和OPENDATASOURCE命令可以很好地工作......当特别查询被允许时。问题在于,由于安全标准,不允许临时查询。

有什么替代方法可以让我以自动方式加载Excel文件,但不需要启用即席查询。

感谢

回答

0

链接服务器可能会为你工作,你将需要一个单独的链接服务器为每个excel文件,你可以用sp_addlinkedserver做DINAMIC。

+0

是的,那会在几个星期后导致数百个链接的服务器。我们的帐户没有权限创建/删除它们,因此这对我们不起作用。 :( – user1238918 2013-03-12 21:05:18