问题标签 [script-component]

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 投票
2 回答
779 浏览

oracle - 通过 SSIS 将数据插入具有序列列的 Oracle 表时出现问题

我正在将数据插入到 Oracle 中的一个表中,该表在其中一个列中设置了一个序列,比如 Id 列。我想知道如何将数据加载到此类表中。

我按照下面的链接 -

可以将 OleDbConnections 与脚本组件一起使用吗?

并尝试创建一个函数以从 Oracle 表中获取 .nextval 但我收到以下错误 -

尝试检索错误 ORA-01019 的文本时出错

我意识到通过包手动设置值,即使用脚本任务枚举值,但不会增加序列,这会导致问题。我们如何处理它?任何可以帮助我解决它的链接?

我正在使用 SSIS-2014,但由于缺乏声誉点,我无法标记它。

0 投票
1 回答
347 浏览

c# - 在 C# 中解码 Base64 HTTPWEBRESPONSE - 返回日语

我正在使用 SSIS 脚本组件来执行 WEB API 的 C# 代码,该代码返回一个 Base64 编码字节和返回数组的值。

实际的返回值是一个编码的 JSON 字符串,我随后需要对其进行反序列化和输出。

我正在使用以下 C# 来尝试解码响应。

预期的结果如下所示。

但是,当输出到我的桌子时,它是用日语传递的。我究竟做错了什么?

0 投票
1 回答
389 浏览

c# - C# SSIS 中的嵌套 JSON 反序列化

我正在使用返回 JSON 的 Web API。在该 JSON 中,会返回一个 base64 编码的 JSON 字符串。

初始响应返回使用以下类的 JSON。

类中的“内容”Attachment返回一个 base64 编码的 JSON 字符串。

解码后,JSON 字符串使用以下类(这是从 json2csharp.com 生成的)

使用 2 个“RootObjects”,我需要知道如何声明这些?

有没有办法做到这一点?还是最好输出它并开发新的脚本?

提前致谢。

0 投票
0 回答
616 浏览

c# - 如何使用脚本组件的输出缓冲区一一插入行

我在 SSIS 2012 中有一个脚本组件,它从中获取数据WebService(json)、反序列化并插入到表中。

这工作正常,但有时 Web 服务已关闭,我收到 500 错误。所以我想将这些错误记录到LogTable使用另一个OutputBuffer.

所以我想出了这个:

问题是我从 web 服务中检索的数据量很大,有时需要几个小时才能获取这些数百万条记录,如果我这样记录,它不会Message在发生错误时立即将其插入日志表但仅当缓冲区填充到 10000 行/10 MB 时。

如何强制逐行OutputBuffer传递。不等待缓冲区填满。

0 投票
1 回答
2289 浏览

c# - 带空格的 JSON 到 C# 类名称

我从 API 请求返回以下 JSON 类

当我使用 json2csharp 生成我的类时,我得到了这个,因为标签的名称中有空格。

当我删除“__invalid_name__”从名字。我的解析但是在运行时会引发“对象引用未设置为对象的实例”错误。

我的问题是我如何对此进行反序列化以便在不删除空格的情况下取出数据?

0 投票
0 回答
608 浏览

c# - SSIS - 动态脚本组件

我想构建一个动态脚本组件作为多表的源和目标。我刚从Microsoft Page的示例开始。它适用于特定表,但现在需要将其转换为所有表的动态,但需要您的帮助。

首先,我想通过下面的 sql 查询动态生成“MyAddressOutputBuffer.Column”部分。

上面的代码给出了预期的结果,但不确定如何用下面的部分硬编码映射替换:

有没有办法说 C# 运行从上面的 sql 返回而不是硬编码的动态查询?

0 投票
1 回答
1055 浏览

json - SSIS 脚本组件 JSON DataContractJsonSerializer

编辑 - 5/8 Json 示例:

编辑 - 5/5 附加信息:

这是我的实际项目的更新代码。如果我将参数限制为单个结果,我现在可以看到我正在获取数据。但是当我增加结果时,我无法让 foreach 正常工作。我不得不对数组值进行硬编码。我很感激任何帮助让这个工作!


原帖:

我正在使用此示例尝试从 API 获取要使用的 SSIS 包。我无法让我的 JSON 工作(并且示例中使用的 API 已经移动,所以我无法让它“按原样”工作)所以我决定尝试一些简单的方法。

https://dennysjymbo.blogspot.com/2014/03/utilizing-net-40-datacontractjsonserial.html?showComment=1493916532059#c208608008820233205

我正在尝试创建一个简单的 SSIS 包来使用来自 https://swapi.co/api/people/1的信息

这是我的脚本:

这是无法正常工作的行:

在图像中,您可以看到它添加了一个人员对象,但没有任何数据存在。

在此处输入图像描述

我将不胜感激任何帮助弄清楚我需要修改什么才能获取响应对象中的数据。

谢谢!

编辑: ssis 包给出的实际错误消息是:

0 投票
1 回答
295 浏览

c# - PostExecute() 输出缓冲区 Foreach 行

我在 SSIS 的脚本组件中有以下代码。

我正在尝试反序列化 JSON 输出并将响应输出到数据库。

反序列化部分正在返回响应。

输出检查点

但是,我得到一个“对象引用未设置为对象的实例”。OutputBuffer.AddRow() 上的错误;

在此处输入图像描述

我在兜圈子。我究竟做错了什么?

0 投票
1 回答
467 浏览

c# - 具有 NULL 值的反序列化 JSON 到输出缓冲区 C#

我正在尝试返回如下所示的 JSON 数据集。让我提醒一下,我仅限于 Visual Studio 2010 和 .NET 4.0。如何输出 NULL 或转换为空白?

我正在尝试将其处理为 SSIS 中脚本组件的输出缓冲区。但是,尽管进行了检查,但我仍然收到“无法将 null 转换为值类型”错误。

我的班级被定义如下。

}

0 投票
2 回答
9954 浏览

ssis - 我可以在 PostExecute 的 SSIS 脚本组件中将行添加到输出缓冲区吗?

我有一个脚本组件,我在其中缓冲所有行,然后进行一些处理,然后我想创建输出行。我尝试访问 PostExecute 中的输出缓冲区对象,但显然这是不可能的?遇到 AddRow() 时出现“未将对象引用设置为对象的实例”错误。有没有办法做到这一点?