问题标签 [script-task]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 如何从 SSIS 包中的子脚本任务代码访问序列容器
我有一个带有 4 个序列容器的 SSIS 包。他们每个人都有一个脚本任务。我想从脚本任务代码中捕获容器的名称。我怎样才能做到这一点?我还没有找到访问父对象的方法。
正如@LONG 所评论的那样,我目前已经用变量实现了这一点。我的问题是,因为每个容器完全相同(即它包含相同的任务和代码),所以当我进行更改时,我只在其中一个中进行,然后删除其他 3 个,然后复制/粘贴一个更新。因此,通过变量实现,我需要在复制/粘贴部分之后进行更多更改,这可以通过读取容器名称来避免
xml - 使用 XDocument.Load 将 DTS 变量用于文件路径
我正在尝试在 SSIS 脚本任务中加载 XML 文件。
这有效:
但这不会:
返回的错误是
“无法将方法组分配给隐式类型变量”。
我哪里出错了?
sql-server - SSIS脚本任务验证错误
我在 SSIS 脚本任务 (SSIS 2015) 中收到以下错误
将数据添加到 var:Error: 找不到脚本的二进制代码。请通过单击编辑脚本按钮在设计器中打开脚本并确保其构建成功。
做了一些在线研究,并确保根据我的搜索结果执行以下操作:
- 延迟验证已设置为 true
- 构建已设置为 x86
- 我们需要这个脚本在 32 位编译器上运行
在 SQLServer (SSMS) 集成服务目录上作为部署包执行时失败(而不是作为作业)
c# - 无法使 SSIS 脚本任务工作
我觉得我缺少一些配置或其他东西,因为我已经在线学习了大量的教程,但无法获得任何脚本任务的示例来工作。我也无法调试错误,因为我不是 C# 开发人员。
目前,我只是检查目录中是否存在文件:
1)User::gvLastMonthImportFile
是字符串(只读)&User::gvLastMonthImportFileExists
是布尔值(读写)
2) 添加using System.IO;
到我的命名空间
3)
错误:
在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 在 System.Reflection.RuntimeMethodInfo。在 System.RuntimeType.InvokeMember 调用(对象 obj,BindingFlags invokeAttr,BindingFlags,BindingFlags 参数,CultureInfo 文化)(字符串名称,BindingFlags bindingFlags,BindingFlags,对象目标,Object[] providedArgs,ParameterModifier[] 修饰符,CultureInfo 文化, String[] namedParams) 在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
sql-server - 当脚本结果正确时,Powershell 返回负退出代码
我制作了以下 PowerShell 脚本:
目标是通过在位置 19 处添加加载时间和时间戳来重命名文件。运行脚本的结果返回以下错误消息:
当我从我的 SSIS 包运行脚本时,我收到以下错误:
我试图搜索此错误消息,但找不到有关此特定退出代码的页面。
问题是虽然从 PowerShell 窗口运行脚本命令时,我仍然会收到错误消息,但文件名确实按预期更改。但是,由于返回错误,SSIS 中的执行流程任务将失败。
我的问题是,这个错误的原因是什么?我认为这与:
其中 $ .BaseName.insert(19,'loadtime') 和 (Get-Date -Format HHmm) 和 + $ .Extension 被视为单独的参数。我对 PowerShell 的了解不是太多,所以这只是我的猜测。
什么可以帮助我摆脱错误?
提前致谢!
c# - SSIS脚本任务将现有文件添加到项目作为链接导致找不到二进制文件
我以为这很简单,但我想不会。这是正在发生的事情。我创建了一个新包并向其中添加了一个脚本任务。我打开脚本任务并编辑脚本(C# 2010)。在解决方案资源管理器中,我右键单击项目名称 (ST_xxxxxx)。我选择“添加->现有项目”。在文件资源管理器中,我导航到我的文档文件夹并选择(不是双击)我的“test.cs”,它只是一个空类。在文件资源管理器窗口的右下角,在“添加”按钮旁边,单击向下箭头并选择“添加为链接”。为了测试,我选择“Build->Build ST_xxxxx”。构建成功。我保存,然后关闭脚本任务 VS 编辑器。然后我在脚本任务编辑器窗口上单击确定。 出现“脚本错误”窗口。“包中包含的脚本有编译错误”。 如果我保存它,任务上的错误会显示“找不到脚本的二进制代码”
任何想法如何解决这个问题?
我可以通过相同的过程并选择“添加”而不是“添加为链接”,它工作正常。但这会创建文件的副本,并且必须手动更新。我想链接到我所有使用的通用 cs 文件,而不必更新它们。
任何帮助,将不胜感激。
ssis - 在平面文件 SSIS 中附加标头记录
我创建了一个从OLEDB Source到Flat File Destination的SSIS包。
现在我想做的是在记录之前和之后附加一个额外的行。
我已经在平面文件中有列标题。
ScriptTask可以在末尾追加一行。但是有什么办法,我可以在平面文件中附加第一行。有什么方法可以让我们选择需要追加该行的位置。
即使需要附加的第一行和最后一行也不匹配该文件中的列
假设生成的文件中有 40 列。而需要附加的那一行只有 4 列,而且也不同。
谁能帮我解决这个问题?
c# - 一个对象怎么可能不等于它自己呢?(SSIS 脚本任务)
问题出在 Main 中间的那行
当 GetEncryptionKey“失败”并返回 noKey 时,“if”仍然采用“else”路径,我不明白为什么。我尝试了这个,结果相同。
除非对 noKey 的每个引用都以某种方式实例化 byte[0] 的新副本,否则我看不出它们如何不相等。我已经走过无数次了,它们看起来确实是一样的。
c# - 在 C# 中将 Case 语句添加到 REPLACE 函数
首先,我不是 ac# 人,所以请多多包涵。我需要在 SSIS 中的脚本任务中将出现的“D:”替换为“d$”。我确实使用替换功能来做到这一点,但问题是,这对另一行产生了意想不到的后果。
例如,脚本任务发送一封电子邮件,电子邮件的标题为 \servername\d$ \further_path。电子邮件正文为“UID:1:MESSAGE”
发送电子邮件的代码行如下所示:
我得到的当前输出是:
预期的输出是:
查看日志文件夹行和 UID 行
当我使用替换功能时,身体线条也会受到 d$ 符号的影响,这就是我要避免的。我可以在 C# 中编写一个条件 REPLACE 函数吗,或者有没有其他方法来处理这个问题?
谢谢,房车。