我目前正在开始一个解决方案的初始设计,该解决方案基本上是从一个文件进行一些数据转换。基本流程是这样的:
- 应用程序每天将一个文件复制到网络位置(大小目前未知)
- 然后应将文件复制到另一个位置作为备份
- 然后应该处理文件:格式很容易解析,里面没有什么花哨的
- 文件内容要写入数据库(sql server)
- 如果一切顺利,应删除原始文件(应保留备份副本)
我的老板一再建议使用SSIS来做这件事,但我以前从未使用过,所以我不确定我是否可以纯粹用SSIS来实现这个,尤其是应该对文件采取的行动。另外,如果我真的不知道如何使用它,我不确定使用 SSIS 是否是一个好的决定。
这是典型的 SSIS 用例吗?这可以使用纯 SSIS 实现吗?
这是一个“经典”的 ETL 场景,您当然可以在 SSIS 中完成所有操作,唯一的问题是您是否愿意。除了将平面文件中的数据加载到数据库中之外,您描述的步骤可能更容易在 Perl、PowerShell 或您喜欢的任何其他脚本语言中实现。
话虽如此,SSIS 确实提供了一些非常好的功能(日志记录、配置、调试、工作流),如果您将来可能扩展流程以包含额外的步骤,那么 SSIS 是将整个流程联系在一起并控制的好方法这些步骤的执行。
就个人而言,我会根据文件处理来决定。如果它是一个简单的 CSV 文件,我可能会使用 SSIS;如果它需要正则表达式或其他文本解析,我会在外部脚本中完成。或者可能将两者混合,并在外部脚本中进行解析并从 SSIS 包中调用它。
如果您有兴趣学习 SSIS,那么这显然是一个很好的开始机会,尤其是因为您的老板不会提示您花时间“玩弄”新事物。