答案 0 :(得分:2)
我想出来了。在SSIS中创建新的脚本任务时,会在其中生成自动生成的代码,这对执行任务至关重要。如果从控制台应用程序中获取完全正常工作的C#脚本,并且只需按住ctrl + a,ctrl + v对SSIS脚本任务的全部内容进行操作,就会丢失脚本任务代码的关键部分。发生这种情况时,您将留下一个脚本任务,该脚本任务将在脚本编辑器中打开并编译而不会产生任何错误,但它不会在SSIS中执行。
特别错过了这个:
{ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain :
Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase {
答案 1 :(得分:0)
您可能还会定位不正确的SQL Server版本。如果将SSIS项目设置为以SQL Server 2012为目标并将其部署到SQL Server 2016,则会因此错误而失败。将项目属性中的目标版本更改为2016并重新部署。
答案 2 :(得分:0)
SQL Server 的版本差异导致了我的问题。通过更改 deployemnt 中的 SQL Server 来解决它,如以下链接中所述