【问题标题】:SSIS Execute SQL Error: " "SSIS 执行 SQL 错误:“”
【发布时间】:2015-07-08 00:07:08
【问题描述】:

SSIS (2012) 中尝试使用 执行 SQL 任务 执行 SQL 文件时出现错误。

执行 SQL 任务:执行查询“”失败,结果如下 错误:“”。

我正在尝试自动化一个从 TestRail 导入文件的过程,该文件删除并重新创建表,然后用数据填充它们。

我可以在 SQL Server Management Studio 中打开该文件。我在打开文件时确实收到 Inconsistent Line Endings 警告,但当我单击“是”或“否”以对其进行规范化时它会起作用)。在我第一次创建流程时它确实有效,但文件要小得多,因为当时我们没有太多数据。

关于为什么查询可能在 SSIS 中失败但在 SSMS 中运行的任何想法?我认为这可能是 SSMS 可以识别但 SSIS 无法识别的一些时髦语法。

这是整个错误消息:

SSIS 包“\valinor.k-net.com\Users\bs\documents\Visual Studio 2012\TFS\数据分析师\SSIS 包\SSIS PACKAGES\TestRailRefresh.dtsx" 正在启动。错误:执行时出现 0xC002F210 SQL 任务,执行 SQL 任务:执行查询“”失败, 以下错误:“”。可能的故障原因: 查询,“ResultSet”属性未正确设置,参数未设置 正确,或未正确建立连接。任务失败: 在 TestRailRefresh 执行 SQL 任务警告:0x80019002:SSIS 警告 代码 DTS_W_MAXIMUMERRORCOUNTREACHED。执行方法成功, 但是引发的错误数 (1) 达到了允许的最大值 (1); 导致失败。当错误数量达到 MaximumErrorCount 中指定的数字。更改 MaximumErrorCount 或修复错误。 SSIS 包 "\valinor.k-net.com\Users\bs\documents\Visual Studio 2012\TFS\Data Analysts\SSIS PACKAGES\SSIS PACKAGES\TestRailRefresh.dtsx" 完成: 失败。程序 '[146976] DtsDebugHost.exe: DTS' 已退出 代码 0 (0x0)。

【问题讨论】:

  • 你能发布整个错误堆栈吗?
  • @matt-a,我添加了整个错误消息 - 尽管消息的其余部分看起来很笼统。
  • 您是否尝试过重建和/或清理解决方案?有时该错误是元数据问题。
  • @matt-a - 我尝试从头开始重新创建,但没有骰子。我把它分成几块,发现它出错的部分有一些 Java。 SSIS 确实添加了一些转义字符,但它在 SSMS 中运行。

标签: sql sql-server ssis sql-server-2012 ssis-2012


【解决方案1】:

用户反映提交任务的最大大小为 32K。我怀疑您提交的字符串更长。也许您的插入可以分解为多个执行任务。

【讨论】:

  • 是的 - 它目前几乎是 4 meg 的 SQL - 虽然当我开始时它仍然是 700k。我已将其分解为更小的部分,并发现 200 多个查询中有两个因相同的“”消息而出错。字段中有一些 java,SSIS 正在转义其中的一些( \" )。虽然当我从我的变量中复制失败的查询并在 SSMS 中运行它时,它运行没有问题。:(
【解决方案2】:

在这方面浪费了很多时间后,事实证明这是 SSIS 预期的愚蠢行为。显然,Microsoft 认为使用 $( 仅用于内部变量,并且不会在实际查询中被某人使用。

这将在 SSMS 中运行,但在 SSIS 中失败:

SELECT 'Total: $(1200).' 

我通过使用 REPLACE 在字符之间添加一个空格解决了这个问题 - $ (.

https://msdn.microsoft.com/en-us/library/ms188714.aspx

去你的,Javascript。

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多