问题标签 [ssis-2016]

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 回答
70 浏览

sql - 如何将作为 JSON AUTO 的 select .....from 输出的字符串转换为无需使用第三方工具 SSIS 即可读取的 JSON 格式文件

嗨,我正在编写 SSIS 包以获取输出 Select a,b,c from CUST FOR JSON AUTO 但是我在单行中获取输出,例如

{"a":"摇滚","b":"纸","c":"剪刀"}, {"a":"摇滚","b":"纸","c":"剪刀" }, {"a":"Rock" ,"b":"paper" ,"c":"scissors"}....

但是我希望输出为

我的客户参数是 Json 文件将是大文件,他不想进行额外的格式化并且应该是可读的

0 投票
2 回答
1143 浏览

sql-server - SSIS 中将文本转换为数字的数据正在删除字符

在使用 SSIS“数据转换组件”将字符串转换为十进制数据类型时,我遇到了一个奇怪的问题。我使用 SSIS 2016。

源数据输入具有混合数据类型的值 - 字符串、整数、十进制,并在平面文件源中定义为 varchar。预期的目标数据类型是数字。当从字符串到十进制的显式类型转换发生时,我们希望字母数字值被错误表拒绝,并且只有数字值通过。相反,我们看到一些字母数字值脱落了值中的字符并成功通过而没有错误。

示例:值“3,5”转换为 35 值“11+”转换为 11

我们无法控制源数据,也无法在将数据传递到数据转换组件之前替换 char 数据。我们已经尝试了以下步骤作为解决方法,并且它已经奏效。IE,

  1. 从 DT_STR 到 DT_NUMERIC 的第一次数据转换
  2. 捕获上述转换失败的错误行
  3. 从 DT_NUMERIC 到 DT_DECIMAL 的第二次数据转换

但是由于源数据不可靠,我们可能不得不在存在数字字段(int 类型和 deicmals)的地方应用这种解决方法,这不是一个友好的解决方案。因此,请与大家核对以了解是否有任何人尝试过更简单、更好的解决方案。

0 投票
0 回答
562 浏览

c# - 如何读取 SSIS 脚本任务中的敏感参数值?

在我的 SSIS 包中,我需要使用密码参数,并且我希望它保持敏感。有没有办法在脚本任务中读取这个敏感参数值?

我尝试使用GetSensitiveValue()链接中的方法,但它总是返回一个空字符串。

Visual Studio 中的参数图像

添加下面的代码

还有其他读取敏感参数值的方法吗?

0 投票
1 回答
698 浏览

sql - 使用 ssis 从 excel 加载数据时意外终止

我有 SSIS 包,它只是使用 microsoft.ace.oledb 从 excel 加载数据。12.0 驱动到 sql server 表。

excel文件大小为4.5mb

它在本地运行良好。

当我在开发环境中使用 Sql Server Agent 进行部署和运行时,作业失败,状态为“意外终止”(在验证后和信息上)。我无法排除故障,因为没有错误消息。

请注意开发环境是我本地的精确图像副本。这只发生在大型 excel 文件中。

0 投票
0 回答
19 浏览

ssis - 对 SSIS ForEach 循环感到困惑

我正在寻找有关如何开始使用 SSIS For Each Loop 的帮助。

我有一个基于 ID 调用 API 的进程。每个 ID 只能调用一次 API。我要做的是查询一组 ID,让 ForEach 循环遍历每个 ID,并将数据更新到表中。

这就是我现在所拥有的。当我手动设置要传递给它的 ID 时,数据流任务正是我需要它做的事情。

这是我的控制流程。

这是我的控制流程

“获取员工 ID”执行 SQL 任务正在返回一个 ID 的结果集,如下所示

我正在浏览这些选项,但我不知道从哪里开始。我猜我需要让执行 SQL 任务设置变量,然后将它们传递给 For Each 循环?

0 投票
1 回答
341 浏览

ssis - SSIS ForEach 循环容器只处理一行

我有一个简单的工作,它获取员工 ID 并将它们发送到 API 调用,该调用一次只接受一个员工 ID。我使用ForEach Loop ContainerExecute SQL Task.

作业按预期运行,但它只循环前 N 条记录。

我的执行 SQL 任务将完整的结果集返回给变量。我的变量设置为对象数据类型。 执行 SQL 任务

执行 SQL 任务完整结果集变量

我将 ForEach 循环设置为Foreach ADO Enumerator,然后与我的变量匹配。

Foreach 循环编辑器

当我运行作业时,我没有收到特定的错误消息告诉我我做错了什么,但它在 ForEach 循环中失败,如图所示 ForEachLoop

还有什么我可以注意的吗?

0 投票
1 回答
179 浏览

sql-server - 部署 SSIS 包时为空的连接管理器,除非转换为包连接

这是我第一次从头开始使用 SQL 2012 中引入的“新”SSIS 集成服务目录。多年来,我已经使用这种新模型开发包,但从未建立自己的环境。

我的包可以在 Visual Studio 2019 中正常工作,并且项目连接管理器将跨越该项目中的所有包。当我部署包时,连接管理器在包配置中是空的。

这是我的连接设置项目。

在此处输入图像描述

这是我使用项目连接部署包时的样子

在此处输入图像描述 在此处输入图像描述

如果我将连接更改为“包连接”,则连接会按预期部署。

当我这样做时,连接管理器被填充 在此处输入图像描述 在此处输入图像描述

我错过了什么?

0 投票
0 回答
23 浏览

ssis - 2016 SSIS 包 - 重复连接

我们注意到 SSIS 包在包中创建了重复连接,不确定当我们打开解决方案时,包试图连接到服务器凭据并且由于密码不可用,并创建了重复连接

你们中是否有人遇到过这个奇怪的问题并找到了解决方案。

0 投票
0 回答
36 浏览

ssis - 从 2008 年到 2016 年的 SSIS 迁移问题

我需要将 SSIS 中的所有 excel 报告文件从 .xls 转换为 .xlsx,包括从 2008 年迁移到 2015 年数据工具(目标版本:SQL Server 2016) - 对于我们使用数据流任务提取我添加的报告的所有报告“WITH Result Sets”以及运行良好的 EXEC SQL 命令。但是在 Teamp 表的结果集中具有 OUTPUT 变量的项目中执行 SQL 任务会引发以下错误。

  • [执行 SQL 任务] 错误:执行查询“EXEC master..merge_file ? ,...”失败,出现以下错误:“未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。

我知道这是因为它以 64 位运行,但如果我们将其切换到 32 位,它工作正常,但 Excel 连接管理器会抛出错误,因为 .xlsx 格式只能在 64 位下工作。如何解决这两个问题。? 感谢任何帮助解决问题。

0 投票
0 回答
57 浏览

ssis - SSIS:DT_DECIMAL 可以接受空值吗?

我们从 CSV 文件输入数据,有时小数列可能为空。SSIS DT_DECIMAL 或 DT_NUMERIC 似乎不接受 null,得到 -1071607689,DTS_E_OLEDBDESTINATIONADAPTERSTATIC_CANTCONVERTVALUE 错误。

请问我们需要使用 DT_STR 列,还是有任何必要的设置?感谢您的所有建议。