从Excel电子邮件附件更新SQL Server(2014)表

时间:2016-11-29 16:11:20

标签: sql-server excel email

我们跟踪攻击我们网站的IP。第一次攻击,我们临时阻止他们。如果他们再次攻击,那么我们会永久将他们列入黑名单。每个IP的每次攻击的信息都存储在永久物中。每天两次,带有所有相关信息的Excel电子表格报告通过电子邮件发送给不同的人,然后将信息手动添加到大量电子表格中。我们最近用SQL服务器创建了一个新盒子,并且我已将所有现有信息添加到新数据库中的表中。

由于我是新手,我想知道是否有办法将每日电子表格发送到这个新的SQL服务器并让它解析excel附件并更新我们的主跟踪表。电子表格将始终具有相同的结构(15列和页眉和页脚行),具有不同的行数,当然它与现有的表结构相匹配。

我一直在谷歌搜索它,我只能找到关于如何将SQL导出到excel并发送带有数据库邮件的电子邮件的查询(ba dum tish)。发送电子邮件到sql server并让它处理附件时找不到任何内容。

2 个答案:

答案 0 :(得分:2)

您可以使用SQL Server Integration Services(SSIS)。您可以编写一个SSIS包,将给定Excel电子表格中的数据导入表格 然后从该表中,您可以将insert或update语句写入生产表。您可以使用"数据流任务"从excel文件导入数据然后写一个"执行SQL任务"这会将值更新为Production表。请记住,您必须始终将Excel文件保存在同一文件夹中(否则您可以使用动态语句使用变量动态获取文件名)。完成包后,您可以将包安排为SQL Server作业,该作业将定期运行,因此数据将自动更新。

请参阅此视频,了解有关SSIS的基本概念: Import Data From Excel to SQL Server Using SSIS

答案 1 :(得分:0)

  

每天两次,带有所有相关信息的Excel电子表格报告将通过电子邮件发送给不同的人,

尝试将文件保存到某个位置,然后使用SSMS导出,导入向导。此包可以保存并设置为每日运行

这是一个包含相同内容的分步教程。

https://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/