首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写入错误访问字段的SSIS变量和参数

写入错误访问字段的SSIS变量和参数
EN

Stack Overflow用户
提问于 2016-04-13 13:38:08
回答 3查看 129关注 0票数 1

我使用“控制流”和“数据流”任务来记录中从Excel数据源读取的行数。然后将数据处理为好表和坏表,这些表中的行被计数,结果通过参数化SQL语句写入统计表。

由于未知的原因,数据似乎被写入了统计表中的错误字段,尽管重新创建了变量并显式地为每个变量设置了列,但我无法修复或识别问题。

设置了三个变量: 1.通过行计数任务从源Excel读取的行总数(约28964行)

  1. 处理后以“好”数据形式写入表的行(大部分源文件,约28,540)
  2. 处理后作为“坏”数据写入表的行(约424)

然后,通过SQL命令将变体存储在单独的表中,该命令从变量中读取设置的参数。最后的百分比字段是根据总行和错误计算的。

但是,表中的结果似乎是在错误的字段中(见图)。

我已经检查了几次,重新创建了所有的表和变量,但是得到了相同的结果。所有的桌子都可以访问。

有什么想法吗?

任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-13 14:02:30

这是一个访问参数化查询吗?

我从来没有运行过其中一个从SSIS。我知道SSIS在将变量的值映射到查询参数时可能会很奇怪。您注意到您的变量(在变量到参数映射中)的显示顺序与它们如何分配给参数一样吗?

看起来,GoodRows值(28540)将转到P1、BadRows到P2、TotalRows到P3。这是变量在映射中出现的顺序。

这正是我所看到的SSIS所做的奇怪而令人恼火的事情--尽管这并不是专门针对Access语句的。SSIS有时按照参数在映射列表中的出现顺序将变量映射到参数,完全忽略了在“参数名称”列中指定的内容。

尝试删除所有映射,并依次映射变量,以便它们出现在映射表中的order P1、P2、P3中。

票数 1
EN

Stack Overflow用户

发布于 2016-04-13 14:25:43

我建议您为第四个参数创建第四个变量,而不是尝试在ExecuteSQL任务中计算。

不要在参数映射选项卡的“参数名称”列中使用P1、P2和P3,而是尝试使用它们基于零的序号位置。

在查询本身中,对参数使用问号:

代码语言:javascript
复制
...VALUES ("France", ?, ?, ?, ?)

换句话说,对于查询中首先使用的参数,名称使用0。下一个参数使用1,下一个参数使用2,依此类推。

如果这不起作用,您可以使用变量构建一个字符串变量,该变量保存要执行的整个SQL字符串,并在ExecuteSQL任务中使用"SQL变量“选项。

票数 1
EN

Stack Overflow用户

发布于 2016-04-13 14:38:18

请尝试将参数映射中的参数名称替换为0、1和2。只需按所需的列顺序使用数字即可。在我的SSIS-项目,这是很好的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36600190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档