我在一个内部开发小组的 QA 部门。我们的生产数据库程序员一直在构建一个 SSIS 包,以从各种数据库位创建加载文件,以导入第三方应用程序(我们正在测试与此的集成)。
构建完成后,很快发现它依赖于创建它的 SQL Server 和 Visual Studio 的版本,并且对生产环境的依赖也很少(这不是 SSIS 问题,只是描述性质我们的设置)。
构建这个需要几天的扎实努力,然后无法在我们的 QA 环境下运行。
在向该团队询问他们的包正在运行的 SQL 查询之后(它在生产环境中运行良好),我编写了一个 python 脚本来执行相同的任务而没有任何依赖关系。我花了两个多小时(请注意,我已经有一个自定义库来处理我们的数据库交互),并且我能够写出我需要的 UTF-16LE 文件。
现在,我们的生产数据库程序员不是 SSIS 专家,但他们在工作流程中相当多地使用它——我很乐意称他们所有人都胜任他们的职位。
因此,我的问题是——考虑到它似乎花费的时间以及对 SQL Server 和 Visual Studio 版本的依赖关系,SSIS 包带来了哪些我的 python 代码可能看不到的优势或好处?或者是一个 shell 脚本,或者 Ruby 或者 code-flavor-of-the-moment?