database - SSIS Excel 数据提取

标签 database performance ssis extract

我正在从 excel 文件中提取数据,这些数据每周都会累积在同一个 excel 文件中。例如,第 X 周将包含从第 1 周到第 X 周的数据。然后第 X+1 周将包含从第 1 周到第 X+1 周的数据。 将这些累积数据加载到数据库中的最有效方法是什么?目前,我正在清除整个数据库,然后加载从第 1 周到本周的数据。显然这个过程效率低下,因为我从数据库中清除数据只是为了再次将其加载回数据库...

对于我的以下想法,有人可以帮助我决定哪条路线是最好的吗?或者,如果您有更好的想法,请告诉我。感谢所有帮助!

  1. 有没有一种方法可以有效地计算 excel 文件的“集差”?然后我可以加载本周文件和上周文件的差异。
  2. 我可以跟踪加载数据的所有周,然后“查询”不在数据库中的周的 excel 文件。我希望这种查询通过散列变得高效。

我认为要使上述任一想法发挥作用,一个必要的问题是:我可以通过 SSIS 以何种方式在 excel 中操作数据?

最佳答案

  • 在控制表中保留您处理的最后一个完整日期
  • 将日期读入包变量
  • 更改 Excel 源代码编辑器 -> 数据访问模式以作为 SQL 命令运行
  • 输入 sql 语句,包括工作表名称并输入 ?为参数值。例如SELECT * FROM [Sheet1$] where extractdate > ?
  • 点击参数按钮,将参数变量(第二步)赋值给sql语句

关于database - SSIS Excel 数据提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443132/

相关文章:

database - 如何找到时间序列数据的最新项目?

sql - 获取错误函数 to_date(timestamp without time zone, unknown) does not exist

performance - 填充列表的是Scala,永远随机抽取两次

scala - Scala 惯用的编码风格只是编写低效代码的一个很酷的陷阱吗?

c++ - SDL2 - 颜色快速变化时性能会受到奇怪影响

sql-server - SSIS存储过程使用临时表2008和2014

mysql - MySQL 到 SQL Server over WAN 的 ETL 机制

php - 如何在 HTML 网站上以 list 形式显示 MySQL 数据?

MySQL Btree : Does cardinality and column order matters for a composite index when all columns are used?

sql - SSIS删除重复数据