【问题标题】:Declare SQL construct or statement is not supported for simple query简单查询不支持声明 SQL 构造或语句
【发布时间】:2018-09-13 10:27:12
【问题描述】:

我有简单的 SQL 查询,需要从参数中获取输入。当我单击参数按钮时,我得到了。如果我的脚本中有声明语句,请告诉我如何获取参数。 注:用于连接的OLEDB连接管理器

【问题讨论】:

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


    【解决方案1】:

    如果您的命令包含 DECLARE 或除单个 SELECT 语句之外的任何内容,则您不能在 OLEDB 源中使用参数。

    做你想做的事情的方法是使用将整个 SQL 命令构建到单个 SSIS 变量中,并使用 OLEDB 源中的“来自变量的 SQL 命令”选项。

    基于 cmets 编辑:

    如果您必须处理超过 4000 个字符的 SQL 命令,则唯一的方法是使用脚本组件。脚本组件中的 SQL 命令可以是任意长度。 Here is an example.

    【讨论】:

    • Alieman,我的 sql 语句有超过 4000 个字符,根据我的理解,这在 SSIS 变量中是不允许的。有没有其他方法创建 SP 。请建议我完成此要求的最佳实践。
    • 你能创建一个包含你的 SQL 语句的存储过程,然后从 SSIS 调用存储过程吗?另见此处:stackoverflow.com/questions/35559799/…
    • Alimen 我不想创建存储过程,因为该脚本在生产环境中运行良好。根据新要求,我们需要动态传递值。如何在不创建新存储过程的情况下实现。
    猜你喜欢
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多