将动态 Excel 文件导入 SQL Server 2014

Importing a dynamic Excel file into SQL Server 2014

我正在寻找关于如何持续(即每天)将我的 excel 文件作为 table 导入 SQL 服务器数据库的最佳解决方案。我的excel 文件比较大,大约有 100 列,目前大约有 8000 行。列的大小将保持不变,但行数每天将增加大约 50-200 rows.I 认为绑定到 SQL 服务器代理作业的存储过程可以解决问题,但后来决定使用像下面的代码一样更简单,只需根据需要附加 table 即可。我还阅读了 SSIS 包,但认为这对我需要做的事情来说可能有点矫枉过正。

SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[客户$]

我对 SQL 服务器还是很陌生,但会很感激 advice/feedback?

电子表格听起来好像每天都在增长,新行被添加到底部。您可能希望将数据导入暂存 table(在导入前已被截断),然后使用 SQL 合并命令将 new/changed 行移动到实际工作 table。否则,您将得到数千个重复的行,并最终得到一个巨大的 table.

也许最简单的方法是使用 SSMS 中的“导入数据”选项生成 SSIS 包。您可以通过右键单击 SQL Management Studio 中的数据库找到该选项,打开“任务”子菜单,然后在底部找到“导入数据”。它将打开一个导入数据的向导,该向导基本上会生成一个 SSIS,您可以将其保存以备后用,并使用 SQL 代理作业进行安排。

如果您尚未创建要导入的 table,该向导还将使您能够根据 Excel 文件生成它。如果你需要生成table,我建议你通过向导,不要保存ssis包,而是直接运行。

生成 table 后,使用相同的向导生成导入 SSIS。这次您将能够 select 删除目标中的所有行选项。