gpt4 book ai didi

sql - SSIS:如何将 SQL 语句从文件中提取到字符串变量中?

转载 作者:行者123 更新时间:2023-12-01 07:48:45 25 4
gpt4 key购买 nike

我有一些存储在文本文件中的 SQL 语句。如何将这些文件拉入 SSIS 中的字符串变量中,以便我可以在多个地方使用相同的查询?

回答问题:

查询又长又复杂,我更喜欢在真正的文本编辑器中进行编辑,而不是在 SSIS 文本框中进行编辑。我还希望无法访问 SSIS 或不知道如何使用它的人可以编辑查询。最后,每个查询都用于许多不同的数据流。如果我错了,请纠正我,但如果我在多个位置使用相同的查询,我相信我必须使用变量或为每个数据流重新编写代码。

最佳答案

这就是我做这件事的方式(在到处寻找答案并没有找到答案之后。)

我从导出数据向导创建的包开始,所以我的说明与此相关。这样做会设置列映射。如果您没有使用导出向导来创建包,您可能必须手动添加列。

  • 将名为 SQLFileName 的字符串变量添加到包中。
  • 将名为 SQLCommand 的字符串变量添加到包中。
  • 在控制流开始时添加脚本任务。
  • 编辑脚本任务并转到脚本部分。
  • 将 SQLFileName 添加到 ReadOnlyVariables 部分。将其设置为
    .sql 文件的路径。
  • 将 SQLCommand 添加到 ReadWriteVariables 部分。
  • 单击设计脚本。
  • 粘贴到下面的脚本中。它只是读入内容
    SqlFileName 指定的文件写入
    SQL 命令。
  • 确定你的出路并将脚本任务连接到你的控制流的其余部分。
  • 转到您的数据流并选择源查询。你需要
    使用编辑属性
    属性窗口。如果您使用
    花哨的编辑窗口,你会得到一个
    关于命令文本的错误不是
    正在设置。这是因为 SQLCommand
    在设计时为空白。
  • 将 AccessMode 从变量更改为 SQL 命令。
  • 在 SQLVariableName 下,选择 SQLCommand。
  • 您会看到一个红色的 X 被添加到源查询中。那是
    因为 SQLCommand 是空白的。至
    防止红X,改变
    验证外部元数据为假。

  • 就是这样。我希望我记得所有的点点滴滴。脚本是关键部分,因此您可以将 SQL 放入变量中,然后在数据流中使用该变量。
       Imports System
    Imports System.IO
    Imports Microsoft.SqlServer.Dts.Runtime

    Public Class ScriptMain

    Public Sub Main()

    Try

    Dts.Variables("SQLCommand").Value = System.IO.File.ReadAllText(Dts.Variables("SQLFileName").Value.ToString)

    Dts.TaskResult = Dts.Results.Success

    Catch oException As System.Exception

    Dts.TaskResult = Dts.Results.Failure

    End Try

    End Sub

    End Class

    关于sql - SSIS:如何将 SQL 语句从文件中提取到字符串变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624656/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com