通过.Net运行扁平文件的SSIS包会引发 "要在sql server之外运行一个SSIS包...安装集成服务"。

问题描述 投票:0回答:1

我正试图使用Microsoft.SqlServer.Dts.Runtime DLL版本14.0.0.0通过.Net代码运行一个平面文件SSIS包。

在执行时,我得到 "要在SQL Server Data Tools之外运行一个SSIS包,你必须安装集成服务的标准版或更高版本"。

我安装了SSIS for Visual studio 2017,以及与SQL server 2017都安装了SSIS扩展。

在尝试直接通过DTExe运行时,有很多与此错误相关的问题;但还没有找到任何关于Dts.Runtime DLL的故障排除问题。

我推测DLL会调用DTExe,但我不知道判断它会调用哪个DTExe。使用 "错误的 "DTExe是解决许多其他关于这个错误的问题。

sql-server ssis sql-server-data-tools
1个回答
1
投票

无论你是使用托管对象模型还是使用工具,都要检查机器上是否安装了SSIS服务。运行SSIS包的许可要求是,运行该包的服务器必须是获得许可的SQL Server实例。所以,你所写的应用程序希望是针对运行在已经有SQL Server服务器标准许可证或以上的机器上。

对于开发来说,据我所知,这需要花费50美元。对于生产,我们谈论的是几万到几十万美元。

为了保证完整性,SQL Server 2005和2008 SSIS包可以在安装了数据工具(当时称为商业智能设计工作室,或BIDS)的机器上运行,因为获取安装介质的唯一方法是拥有SQL Server、开发者版或以上的ISO镜像。

随着2012年的到来,你现在可以在没有SQL Server产品的情况下下载SQL Server数据工具、SSDT,但你失去了在Visual Studio调试器之外运行包的能力--这是个遗憾,因为调试器会严重影响包的吞吐量。

如果你查看许可要求--企业版许可中不包括将SSIS扩展到不同机器的功能。

SQL Server不需要安装SSDT来运行SSIS包。安装工具运行和与之交互的选项(dtutil,dtexec,sssdeploymentwizard)......可能存在或不存在,这取决于版本。但那是 运转 包。开发是SSDT发挥作用的地方。SSDT在开发(Visual Studio调试器)的范围内设计和运行包。其他任何东西都会被那个授权检查所阻止。

© www.soinside.com 2019 - 2024. All rights reserved.