问题标签 [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 回答
699 浏览

sql-server - 适用于 SSIS 2016 的 Sharepoint 2010 列表适配器

背景

从 SSIS 2012 迁移到 2016。连接到现有的 Sharepoint 2010 站点。对 VS15 使用 SSDT。在 SSIS 2012 项目中,我们使用了 CodePlex 的 SharepointlistAdapters。

问题:

加载“旧”项目时,我收到 Sharepoint.conmgr 无法运行的错误。

问题

SQLServer 2016 是否有新的 Sharepoint List 适配器,或者我们可以使用与 2012 相同的适配器?

更新

我刚刚在我的电脑上安装了 SharepointlistAdapter,然后重新打开。与以前的版本一样,我们可以在工具 > 选择工具箱项目下添加 Sharepoint Adapter 列表组件。但在 SSDT15 中,一旦进入工具箱项目,我就看不到“SSIS 数据流项目”和“SSIS 控制流项目”选项卡。
SSDTV15 与 SharepointListAdapters 不兼容吗?

0 投票
2 回答
6693 浏览

sql-server - 使用多个结果集执行存储过程

我正在使用 SSIS 2016。我需要执行一个返回 4 个结果集的存储过程。我只需要保留第一个结果集并将其写入表即可。我无法修改存储过程。我不关心其他结果集中返回的任何数据。存储过程位于 SQL Server 2016 数据库中。结果也将驻留在 SQL Server 2016 中。

我目前使用 OLE DB 源中的“SQL 命令”数据访问模式在 SSIS 2008 中运行此过程,如下所示。我在 For Each 循环容器中有这个,用于将一系列参数值传递给存储过程,因为我每天为不同的参数值多次执行它。

默认情况下,SSIS 2008 只返回第一个结果集,这对我有用,因为我只关心第一个结果集。

我正在使用本机 OLEDB SQL Server 客户端。根据我的阅读,它改变了处理多个结果集的方式。我已经使用WITH RESULT SETS来定义第一个结果集,但如果我执行 SSIS 将失败,表明需要定义其他结果集。

简而言之,在 SSIS 2016 中复制 SSIS 2008 中有效的最佳方法是什么?

0 投票
0 回答
323 浏览

sql-server - 是否可以使用 SSIS 批量插入任务批量插入始终加密的表?

我需要使用SSIS 批量插入任务批量插入始终加密的表中,因为如果它是最小化对现有包的修改。否则,现有包中的所有批量插入任务都会更改。

0 投票
1 回答
869 浏览

sql-server - SSIS 加载 Excel 文件

这是我第一次使用 SSIS,我收到了这个错误。

使用:VS 2015、Excel 2010

HRESULT 异常:数据流任务 [Excel 源 [1]] 出现 0xC02020E8 错误:SSIS 错误代码 DTS_E_OLEDBERROR。
发生 OLE DB 错误。错误代码:0x80004005。

数据流任务 [Excel 源 [1]] 出错:打开“'R0270 Cases$'”的行集失败。检查对象是否存在于数据库中。

excel 文件中的前 7 行是标题信息。第 8 行有列标签,数据从 9 开始。

Excel 源代码编辑器:

数据访问模式:表格或视图

Excel 工作表下拉菜单,它在前 30 秒内出错,然后填充工作表名称。

任何线索发生了什么以及如何跳过前 7 行。我有 100 多个 excel 文件,同样的事情发生在 8 个不同的文件上。

感谢你的协助。

0 投票
1 回答
429 浏览

sql-server - SSIS 在平面文件源中添加超过 200 列作为标题

我正在使用 VS2015,我将输入作为没有标题的平面文件。我需要添加最多超过 200 列的多个列作为平面文件标题。基本上我们能做的就是打开 FLAT FILE CONNECTION MANAGER 将进入高级选项卡并一一添加列。但是添加超过 200 列将需要更多时间。

我的问题是如何一次将所有列标题添加到 ADVANCED 中,以便为我减少很多时间?有没有解决方案,或者我们需要一个一个添加,这需要很长时间?有什么解决方案吗?

0 投票
0 回答
46 浏览

ssis - SSIS2014如何在同一个DataFlowTask中获取Destination组件的状态

我正在使用SSIS 2014。我有几千万行来自 Attunity Oracle Source 组件,它的源查询有 20 列,而且很耗时。出于某种原因,我需要在另一个引用第一个表的表中插入同一查询的 2 列。

我想避免在另一个 DataFlowTask 中再次调用查询,因此我正在考虑创建一个WAIT till x_01 finishes脚本组件任务,该任务将在x_01OleDB 目标完成时进行验证,然后继续插入第二个表。

请了解我想在这里实现的目标:这里

我正在考虑使用x_01_FinishedPackage Scope 变量并在从 触发 PostExecute 事件时更改其值,但不幸的是 PostExecute 在OleDB 目标级别x_01不可用。x_01

问题一:

有没有办法在脚本组件代码中获取其他组件的状态?

类似于以下内容:

问题2:

您认为使用这种技术会极大影响包装性能吗?

更新 1

已经用非常少量的数据尝试了Nick.McDermaid的建议。我创建了 2 个临时表,一个在第一列中带有 PK,第二个表在第一个表的这个 PK 中带有 FK。即使有这么少量的数据,我也得到了这个错误:The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tmp_1_tmp_2".您可以在下面的屏幕截图中看到插入确实非常快,并且在第二个数据块中,x_02打算在第一个数据块之前插入的对象(这是不可能的由于这个FK)

所以,我的下一个想法是在插入第二个表之前只读取第一行的同时几毫秒。我们将看看这是否有帮助。

截屏

0 投票
0 回答
36 浏览

excel - 如何处理 SSIS 中 Excel 列中的双引号?

我在 Excel 中有这样的文本 {sampletext C" (USD"}没有。现在我正在获取像 {"sampletext "C" (USD"} 这样的数据,但我需要将 Excel 值放入数据库中,如 {sampletext C" (USD"}.. 你能帮助任何人如何处理这些数据吗?

0 投票
2 回答
313 浏览

c# - C# 替代一堆基于层次结构的 else if 语句

我为这个模糊的标题道歉,但我不确定描述它的最佳方式。

我正在 SSIS 中编写 C# 转换脚本。目标是接收 5 个小数值,我需要按照预先确定的顺序接收 5 个非空值中的第一个值,正如您可以通过 else if 语句的顺序看到的那样。因此,如您所见,如果有 MM 值,我想获取它,如果没有,则获取 PRE,然后是 DD、PT 等。您还会看到我只是分配了一个小 varchar 标签值来显示返回的值是出色地。

有没有一种更清洁/更简单的方法来做到这一点,它不包括一堆 if/else if 块?我只是想把它清理干净。

以下当前代码(感谢您的任何建议!):

0 投票
2 回答
3721 浏览

sql-server - 如何在 ssis 包 2016 中以毫秒为单位捕获时间戳

如何在 ssis 包 2016 中捕获当前时间戳

我声明了一个变量并使用表达式,但缺少毫秒

我也想要毫秒

谢谢

0 投票
2 回答
777 浏览

ssis - 如何在 ssis 包中以毫秒为单位捕获包开始时间

我想要包含毫秒的包开始时间,在下面的代码中我使用 @[System::StartTime] 但有这样的毫秒 .000 没有数字显示

如何以毫秒为单位获取包开始时间?


编辑

我在这段代码中得到毫秒 (DT_WSTR,50)(DT_DBTIMESTAMP2,3)GETDATE() 但问题是 GETDATE() 只返回当前时间而不是开始时间。如何在开始时执行此代码并将值分配给另一个变量