Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 无法加载要执行的脚本_Sql Server_Ssis_Script Task - Fatal编程技术网

Sql server 无法加载要执行的脚本

Sql server 无法加载要执行的脚本,sql-server,ssis,script-task,Sql Server,Ssis,Script Task,当我尝试使用C#代码执行脚本任务时,在VS Studio中收到一条错误消息。代码将在编辑器中打开,并将成功构建和重建,但当我运行包时,我得到 “无法加载要执行的脚本” 屏幕截图 我想出来了。在SSIS中创建新脚本任务时,其中会自动生成代码,这对于执行任务至关重要。如果您从控制台应用程序获取一个完全工作的C#脚本,并且只需在SSIS脚本任务的整个内容上按住ctrl+a、ctrl+v键,则会丢失脚本任务代码的关键部分。发生这种情况时,您将看到一个脚本任务,该任务将在脚本编辑器中打开并编译,而不

当我尝试使用C#代码执行脚本任务时,在VS Studio中收到一条错误消息。代码将在编辑器中打开,并将成功构建和重建,但当我运行包时,我得到

“无法加载要执行的脚本”

屏幕截图


我想出来了。在SSIS中创建新脚本任务时,其中会自动生成代码,这对于执行任务至关重要。如果您从控制台应用程序获取一个完全工作的C#脚本,并且只需在SSIS脚本任务的整个内容上按住ctrl+a、ctrl+v键,则会丢失脚本任务代码的关键部分。发生这种情况时,您将看到一个脚本任务,该任务将在脚本编辑器中打开并编译,而不会生成任何错误,但不会在SSIS中执行


特别是缺少以下内容:

{ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntr‌​yPointAttribute] 
public partial class ScriptMain : 
Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectM‌​odelBase {

您还可能针对的是不正确的SQL Server版本。如果将SSIS项目设置为目标SQL Server 2012,并将其部署到SQL Server 2016,则会失败并出现此错误。将项目属性中的目标版本更改为2016并重新部署。

能否发布您的
SSIS
项目的图片以及完整的错误描述。您将它们放在了哪里?你是在共享驱动器上还是在虚拟机上运行?因为我是新手,所以不允许我上传图片。我很乐意给他们发电子邮件。是的,它是在虚拟机上运行的。我知道了。在SSIS中创建新脚本任务时,其中会自动生成代码,这对于执行任务至关重要。如果您从控制台应用程序获取一个完全工作的C#脚本,并且只需在SSIS脚本任务的整个内容上按住ctrl+a、ctrl+v键,则会丢失脚本任务代码的关键部分。发生这种情况时,您将看到一个脚本任务,该任务将在脚本编辑器中打开并编译,而不会生成任何错误,但不会在SSIS中执行。特别是缺少以下内容:{[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]公共部分类ScriptMain:Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase{您必须这样做,您的问题将被标记为已回答,即使这是您自己的问题answer@MathewNelson您提到的修复程序运行良好。我们已经尝试过了,但C#代码没有正常执行,没有出现任何问题。谢谢。在这里补充一下,我刚刚发现一个案例,我的脚本之间的唯一区别是自动生成的namespace name。我必须创建一个新的脚本任务,并将整个脚本(准确地)复制到新任务中,然后才能执行它。我有一种感觉,这是因为包是从旧版本升级而来的,但我不能确定。但这个答案帮助我找到了答案。