问题标签 [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.

0 投票
1 回答
1369 浏览

ssis - SSIS FTP 文件名和文件大小列表

我们使用FTP taskinSSIS从 FTP 服务器下载大约 500 个文件,其中最大的文件大小约为 2 GB。50% 的时间下载失败。我们想在我们的SSIS包中实现一个步骤,FTP Server在我们尝试下载它们进行处理之前检索文件列表和文件大小。FTP Task没有检索文件列表和文件大小的操作。你能提供一个如何做到这一点的例子吗?

下面是Script Task我找到的用于检索文件名列表并存储在 XML 文件中的代码块。

0 投票
3 回答
24233 浏览

c# - SSIS is executing successfully, but it doesn't seem to be running the script task portion

I have an SSIS package that runs an SQL query and exports it to a csv file via a Data Flow Task. After the csv is created, I have a "Script Task" set to connect to an SMTP server and send the csv file as an attachment.

On my local machine the package runs fine, but when I load it into SQL Server Management Studio on the server it doesn't work as expected. SQL Server MS says that the package executed successfully, and the csv file is generated in the location expected. However, the "Script Task" doesn't appear to be executing at all. I've included some statements in the C# script to write to a file for debugging purposes - one for the try/catch exception block and a couple of others for normal execution.

No email is being sent - no files are being written. It's as if the task is not running at all despite the "Successful Execution".

I did notice that the SQL Server Integration Services 11.0 service is running on my local machine but not on the server. However, if I disable this service on my local machine the task still executes.

Am I missing something else? I'm pretty new to SQL Server and I've been working on this problem for days.

EDIT: I'm running SQL Server 2012

EDIT2: I should also mention that I've tried both saving the package with 64-bit runtime set to false and running it in 32-bit mode through the SQL Server Agent.

0 投票
1 回答
1424 浏览

c# - SSIS 脚本任务-如何在脚本任务中给出动态目录名和文件名?

我不擅长c#。我得到了从目录中删除现有文件的脚本任务,我得到了同时保存目录值和文件值的变量。如何在此代码中使用这些变量值?:

我想在这里使用变量值@"\\sql\sqlfilesMYDBFULL_*.bak

提前谢谢你

0 投票
4 回答
3763 浏览

c# - 如何在 SSIS 脚本任务中传递自定义对象列表?

我有一个脚本任务,它创建一个自定义对象列表并将它们设置为一个 SSIS 对象变量。

自定义类:

填充列表并设置为 SSIS 对象变量“myDogs”的代码:

在第二个脚本任务中,我试图将我的“myDogs”对象变量读回列表:

在第二个脚本任务中复制的自定义类:

我的第二个脚本任务中的主要代码:

我的 varDogs 对象正确地从我的 SSIS 对象变量“myDogs”加载数据。但是,当我尝试将 varDogs 转换为 Dog 类型的列表时,我收到一条错误消息,提示“无法转换 System.Collections.Generic.List 类型的对象”。

有谁知道我如何能够将这个 var 数据转换回列表?谢谢。

0 投票
1 回答
1779 浏览

c# - 检查文件夹中是否存在名称随机的文件-SSIS

我正在尝试使用 SSIS 脚本任务检查文件是否存在于文件夹中。

如果我想发送一封电子邮件说明文件是否存在,则不能使用 ForEachLoop。另外,我的文件名是随机的。

FirstPart 是恒定的,而 SecondPart 是随机的。

根据文件名检查第一部分,如果发现匹配,则发送文件存在邮件。否则文件不存在发送邮件。

我在脚本任务中使用了 FirstPart_*.csv。但它没有用。

关于如何在 ssis 的脚本任务中实现这一点的任何建议。

0 投票
2 回答
247 浏览

ssis - SSIS 脚本任务控制流

我有 3 个脚本任务:Task1、Task2 和 Task3。现在我需要一个控制流,如果 Task1 和 Task2 都成功完成,则 Task3 应该执行。我尝试使用 Precedence 约束,但不知道它是如何工作的。

0 投票
1 回答
101 浏览

ssis - ssis 脚本任务删除记录

两个城市的故事几乎......我有 17,000 行数据,它们以 2 列中的一对字符串的形式出现。每行总是有 5 个项目编号和 5 个项目单位计数(单位计数总是 4 个字符)。他们必须匹配单元和项目,否则它是无效的。我想要做的是将字符串“还原”成单独的行 - 项目编号和项目单位

所以这里是一行数据和两列的例子

  • 记录 ID 列:0
  • 货品编号栏:A001E10 A002E9 A003R20 A001B7 XA917D3
  • 项目单位栏:001800110002000300293

我编写了一个 C# windows 应用程序测试工具来将数据分解为单独的行,它工作得很好而且很漂亮。因此,它基本上将数据转换为 85,000(5 乘以 17,000)行,并以我期望的网格(ID、项目编号和项目单位)显示给我。

  • 0 | A001E10 | 0018
  • 0 | A002E9 | 0011
  • 等等...

在我的 SSIS 应用程序中,我添加了一个脚本任务来处理相同的数据,并且基本上使用了我的测试工具使用的相同代码。当我运行我的任务时,我可以看到它加载了 17,000 行,但它只在输出上生成 15,000 +/-,所以显然有些事情是不对的。

我在想的是,我没有正确设置脚本任务,即使它使用的代码与我的测试工具使用的代码相同,因为它出于某种原因丢弃了记录。

如果我回到我的任务并给它一个在第一次传递中没有得到的特定记录 ID,它将处理该 ID 并生成正确的输出。所以这告诉我记录没问题,但由于某种原因它错过了它或在初始过程中丢弃它。也许与缓冲区有关?

0 投票
1 回答
2273 浏览

javascript - 在 Camunda 的脚本任务中调试 Javascript

我正在尝试在CamundaProcess中合并Javascript类型的Script Task中的两个数组。这是我的脚本:

执行上述脚本时,它会引发异常:

无法完成任务 b4fb856a-6a92-11e5-9774-005056c00008:无法序列化变量“arr1”中的对象:SPIN/JACKSON-JSON-01009 无法将对象“jdk.nashorn.internal.objects.NativeArray@5ff42b74”映射到 json 节点

这是为什么?有什么问题,我该如何解决?反正有调试这样的脚本吗?

0 投票
1 回答
2642 浏览

javascript - 如何在 Camunda 的 Javascript 脚本任务中使用序列化变量

考虑有一个像这样的过程变量:

我正在尝试在 Script-Task 中编写一个 Javascript,它提取一个变量,如上所示,并使用它。这是我走了多远:

但是当我运行它时,它会引发以下错误:

无法完成任务xxx:无法评估脚本:TypeError:ObjectValue [value = [{“id”:1,“name”:“John”},{“id”:2,“name”:“Jane”]], isDeserialized=true, serializationDataFormat=application/x-java-serialized-object, objectTypeName=java.util.ArrayList, serializedValue=X chars] 在 <eval> 中没有这样的函数“size”

在这种情况下,ArrayList 的参考资料说它有,size而且add两者都有!。这是怎么回事?

0 投票
1 回答
1812 浏览

javascript - 在 Javascript 中修改 ArrayList 会导致 Camunda 中的序列化失败

我创建了一个 BPMN 协作模型,其中包含一个 Javascript 类型的脚本任务。然后我用这样的流程变量实例化了一个流程实例:

然后我使用以下代码传递了脚本任务:

它运行成功。然后我修改了这样的脚本任务:

并重新部署,重新实例化;令我惊讶的是,它导致了一个错误:

无法提交任务表单 xxx:无法序列化变量“arr”中的对象:jdk.nashorn.internal.scripts.JO4

有人可以告诉我我做错了什么吗?

[更新]

我刚刚发现了一些新的东西,如果我像这样修改 ArrayList:

它工作得很好!修改后的值为:

这意味着setVariable序列化修改后的列表有问题。那么我应该如何序列化呢?