问题标签 [ssis-2014]

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

sql-server - SSDT 2015 中的 SQL Server 2014 包

您好,我在 SSDT 2015 中创建了一个包,我正在尝试在 SQL Sever 2014 上运行它。

我尝试“保存 .. 的副本”并将其保存在 SQL 服务器上。当我创建一个 Job 并尝试执行包时,我收到一个错误:

由于错误 0x80131430,无法加载包“\pl_dump”。

几天来,我一直试图让这个工作正常进行,并且看到了很多不同的教程和不同的软件下载但没有成功。有谁知道如何部署和运行从 SSDT 2015 到 SQL Server 2014 的包?

0 投票
1 回答
336 浏览

visual-studio-2015 - 数据流在最后一个错误记录处失败 - Oracle 目标

我有一个简单的数据流任务,它将 1M 记录从源传输到目标。Source 表和 Destination 表都是 Oracle 表。源数据由两列 Id 和 Name 组成,如下所示 -

其中的值是 (1,'Test') , (2,'Test') 等等,直到百万。目标表是源表的镜像,但“名称”列是非空列。在源头,我已将 10 个随机行的名称列更新为 NULL。为了捕获这些错误,我创建了 4 个具有正确错误重定向的目的地。

前三个是目标表。第一个将每批行数/最大插入提交大小设置为 50,000。第二个具有相同的值设置为 10,000。第三个具有相同的值设置为 1。最终的 DFT 用于捕获实际的错误记录。所有三个 DFT 的数据访问模式都设置为“表或视图 - 快速加载”。

看起来像这样 -

在此处输入图像描述

随着包开始执行,直到最后一个表的错误记录的传播按预期进行。除了最后一条记录,第一个 50,000 条记录集作为批次的 DFT 失败。当我查看目标 EmployeeData 表时,令人惊讶的是,我什至没有找到一条记录。这里出了什么问题?

这是我得到的两个错误-

[OLE_DST - 加载数据(50,000 行)[69]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0xFFFFFFFF。

[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“OLE DB 目标输入”(82) 时,组件“OLE_DST - 加载数据 (50,000 行)”(69) 上的 ProcessInput 方法失败,错误代码为 0xC0202009。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

这是具有 NULL 值的随机行 -

在此处输入图像描述

我正在使用适用于 OLE DB 的最新 Oracle 提供程序,并从此处链接下载适用于 Oracle 的最新 Oracle 数据组件。


编辑- 只是为了让这更奇怪。我捕获错误行的最后一个 DFT 包含所有不正确的数据,如下所示(正在使用 SQL Server 目标表)。到目前为止,我已经运行了三次此测试,并且一直遇到同样的问题。有什么帮助吗?

在此处输入图像描述

0 投票
1 回答
555 浏览

sql-server - 即使删除了一半的历史,SSISDB文件大小也没有减少,为什么?

我们使用的是 SQLServer 2014,许多 SSIS 包作为每日/每周作业的一部分执行了大约一年。今天,我将保留期从 100 天减少到 50 天,并运行了 SSIS 服务器维护作业(每天运行)。

但是 mdf (44GB) 和 ldf (6GB) 文件大小并没有减少。令人惊讶的是,如果您看到附件,ldf 自 2017 年 8 月 28 日以来未修改。

SSISDB 备份每天都作为维护计划的一部分。

我敢肯定,我们在 SSISDB 中没有 50GB 的数据,肯定比这少。

为什么即使删除了一半的历史,SSISDB.mdf 和 SSISDB.ldf 文件的大小也没有减少?如何释放 SSISDB 中未使​​用的空间(日志或 mdf 或两者)?

任何人都可以帮忙吗?

在此处输入图像描述

0 投票
0 回答
65 浏览

sql-server - Visual Studio SSIS 包抛出错误

我一直在研究 SSIS 包。包正在从 Access 数据库、excel 表和 SQL Server 数据库中提取数据并加载到 SQL Server 数据库中。

它工作正常,但突然开始抛出错误,它不是运行时错误,但每当我在 Visual Studio 中打开解决方案时,需要几分钟来验证所有包组件(这是预期的因为包很大)在验证结束时会引发以下错误:

在此处输入图像描述

我在网上搜索过,似乎其他一些人也遇到了同样的问题,但似乎没有人提出一种经过验证的方法来解决它。

我已经尝试注册 dts.dll,因为网上的一些帖子建议这应该可以解决问题,但没有任何乐趣。

非常感谢任何正确方向的指示或建议。谢谢

0 投票
1 回答
805 浏览

sql-server - 从 SQL 代理执行 SSIS 2014 包

我们在 Windows Server 2012 R2 Standard 上运行 SQL Server 2014 Standard (12.0.4100.1)。当我们安排要运行的 SSIS 包时,将参数值解析到实际运行的命令行中似乎有问题。

有一个项目级连接管理器,其连接字符串设置为使用项目级参数 DB_ConnectionString。有多个软件包存在此问题,但它们的架构都相同。具体错误是:

参数 ""$Project::DB_ConnectionString";"Data "Source=serverName;Initial" "Catalog=dbName;Provider=SQLNCLI11.1;Integrated" "Security=SSPI;Auto" Translate=False;"" 用于选项“参数”无效。命令行参数无效。步骤失败。

当我将步骤类型更改为“操作系统(CmdExec)”时,这是它正在运行的代码:

包含空格的“数据源”、“集成安全性”等似乎存在问题。我删除了空格,这给了我一条不同的消息,表明它正确解析了命令但无法解析连接字符串。

这只是一个错误吗?我们能做些什么来解决这个问题吗?

0 投票
1 回答
20 浏览

sql-server - 在 SQL Server 中的数据库级别还原事务

我正在创建一个 SSIS 包,它涉及从各种资源中提取数据并插入到 MS SQL Server 中的多个表中。每次运行此包时,旧数据会在包开始时从所有表中截断,并插入新值。这里的问题是,当服务器关闭时(从其中提取数据)或包中发生任何错误,表是空的,因为所有值都被截断。

我想在截断开始之前在 SQL 中创建一个事务点/回滚点,这样当发生错误或服务器关闭时,我可以回滚到起始点。任何想法如何做到这一点?

0 投票
1 回答
627 浏览

sql-server - 如何使用 SSIS 将具有多个布局的文本文件导入 SQL

我对SSIS相当陌生,任何帮助将不胜感激!

我需要导入一个逗号分隔的文本文件。文件中的行具有不同的布局。第一列的值指定布局。

例如:

布局 1:姓名、姓氏、年龄、身份证

布局2:身份证、工资

所以列名和数据类型完全不同。

有没有办法在不使用 SSIS 中的脚本任务的情况下导入这样的文件?

0 投票
1 回答
1274 浏览

sql-server - 项目部署到目录后,SSIS 用户变量未更新

我有一个控制流,它使用执行 SQL 任务设置用户变量。在 Visual Studio 中一切正常,但是一旦我将它部署到 SSIS 目录,变量似乎没有被分配。我正在针对完全相同的数据源执行它。

我会准确地解释发生了什么...

带有注释的 SSIS 控制流

序列容器中的第一个任务从状态表中读取为该表记录的最后一个 LSN。如果该表没有条目,则它遵循上图中的路径1 。

在第2步,它使用源数据库上的 CDC 函数读取表的最小 LSN。然后它将 LSN 和该 LSN 的日期时间存储在两个用户变量中。这是数据复制的“窗口开始”。

步骤3从目标表中读取最大更改日期。

如果窗口开始在最新更改日期之前,则步骤4会出现分支,因为这会导致将重复数据导入到目标表中。(我只想说在加载到目标表之前我无法进行重复数据删除......)


当我在 Visual Studio 中运行项目时,一切正常。它通过步骤 1-3,然后继续进行 DFT,因为表的最小 LSN 在目标表中的最大更改日期之后。我已经使用断点来确保变量实际上被正确设置。

一旦我将项目部署到 SSIS 目录,它就会执行第 4 步并记录错误行。它似乎没有设置变量或约束表达式没有使用正确的值。我尝试在执行 SQL 任务中使用结果集和输出参数设置变量。我可以从日志消息中看到源表的最大更改日期是正确的。

一件奇怪的事情是日志消息中的变量值与设计时值不同。设计时间值为“1899-12-25 14:20:00”,但日志消息显示“1899-12-30 00:00:00”。但这可能取决于我使用了错误的转换方法或其他东西。 ..我没有仔细研究它,因为它仍然不应该遵循路径 4。

它在 Visual Studio 中按预期运行但在服务器上具有不同行为的事实让我非常困惑。我想不出是什么原因造成的。

这些包是使用 BIML 创建的,但我认为这实际上没有任何联系。完整的解决方案复制了 100 多个表,每个表一个包。即使我尝试仅对单个包进行调试部署,问题仍然存在。

0 投票
1 回答
52 浏览

sql-server - 相同的 SSIS ETL 产品(包)能否适用于 SQL Server 2014 和 2016 的 SSIS?

我们正在 SSIS 中构建 ETL 产品。我们的许多 SSIS 包都有用 C# 脚本编写的脚本任务,其中包含对 Microsoft.SqlServer.ScriptTask、Microsoft.SqlServer.ManagedDTS 等的程序集引用。

我们的一些客户可能正在使用旧版本的 SQL (2014),而一些客户可能会升级到 2016。

在这种情况下,您可以向使用新旧 SQL Server 版本的两组客户发布较新的产品版本的行业标准和最佳实践是什么?

有什么方法可以同时支持 SQL Server 2014 和 2016,而无需维护 2 个代码库?

0 投票
1 回答
13639 浏览

sql-server - 如何从 SSISDB 下载 SSIS 包

我对 SSIS 还是很陌生。我已经弄清楚如何通过连接到集成服务从服务器下载包。如何从 SSISDB 下载包?背景:我们有很多以前的人创建的包。所有包都应该保存在我们共享驱动器上的相同文件夹结构中。但是,在某些情况下,数据库中的包比共享驱动器上的包更新。我希望能够查看已安装的软件包以查看它们是否与共享驱动器上的内容匹配,以及安装的版本是否较新,请编辑该版本。谢谢!