【问题标题】:Update SQL Server (2014) table from an Excel email attachment从 Excel 电子邮件附件更新 SQL Server (2014) 表
【发布时间】:2016-11-29 16:11:19
【问题描述】:

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

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

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

【问题讨论】:

  • excel文档是怎么生成的?谁给它发电子邮件?
  • 人类。那一点都是手动的。我正在尝试将主电子表格(现在的主表)的手动更新排除在外。

标签: sql-server excel email


【解决方案1】:

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

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

【讨论】:

  • 完全正确。我更喜欢通过 SSIS 处理来自非 sql 源的数据。与使用 sql 命令相比,它为您提供了更多的灵活性和控制力,恕我直言。
  • 明确地说,这取决于我们是否有网络共享,我们存储上述每日电子表格和 SSIS,然后将电子表格从共享中取出?
【解决方案2】:

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

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

这是一个分步教程,涵盖相同的内容..

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2020-06-24
    • 1970-01-01
    相关资源
    最近更新 更多