我的一位客户有一些非常具体的需求,需要通过我创建的一些 ETL 流程来运行电子表格。
我开发了一个 SSIS .dtsx 包,它将 Excel 电子表格导入 SQL Server,然后执行一些转换过程,然后将结果导出到另一个 Excel 电子表格。我想将该工具交给客户,以便他们可以临时启动 ETL 流程。为了让他们能够运行 DTSX 软件包,在他们的系统上运行该软件包所需的最低要求是什么?这可以用 SQL Express 完成,还是他们需要运行集成服务来执行包?
我的一位客户有一些非常具体的需求,需要通过我创建的一些 ETL 流程来运行电子表格。
我开发了一个 SSIS .dtsx 包,它将 Excel 电子表格导入 SQL Server,然后执行一些转换过程,然后将结果导出到另一个 Excel 电子表格。我想将该工具交给客户,以便他们可以临时启动 ETL 流程。为了让他们能够运行 DTSX 软件包,在他们的系统上运行该软件包所需的最低要求是什么?这可以用 SQL Express 完成,还是他们需要运行集成服务来执行包?
您已经交付了一个使用 SSIS 的解决方案。SSIS 需要安装 SQL Server Standard、BI 或 Enterprise Edition(取决于使用的组件)。
此时,您的客户将需要花费大约每核 8k (SE) 到每核 23k (EE) 的费用来为其桌面购买 SQL Server 许可证。这可能不是他们所期待的。
你能做什么?
假设他们在企业中安装了 SQL Server,这应该是部署到该实例可以访问的某个地方,并告知客户他们需要将源电子表格复制到哪里以及他们可以从哪里获取输出。我喜欢我的ETL 文件处理模式,但选择最适合您和您的客户的模式。
这解决了获取包的问题,以便它可以在正确的输入下运行。现在您需要弄清楚客户端如何调用它。我会创建一个没有预定义计划的 SQL Agent 作业,然后是世界上最小的应用程序,它只是调用
EXECUTE msdb.dbo.sp_start_job 'ExcelProcessor'
这将是一个异步过程,因此您需要执行一些操作,例如轮询输出文件夹直到文件出现或监视作业表在向用户发出处理已完成的信号之前查看作业是否成功完成。