gpt4 book ai didi

variables - 如何将系统变量值传递给执行 SQL 任务中的 SQL 语句?

转载 作者:行者123 更新时间:2023-12-04 05:20:16 25 4
gpt4 key购买 nike

SSIS 2008。非常简单的任务。我想检索系统变量并在 SQL INSERT 中使用它。我想检索 System:MachineName 的值并在插入语句中使用它。

使用声明 INSERT INTO MYLOG (COL1) SELECT @[System::MachineName]给出错误 Error: ..failed to parse. Must declare the scalar variable "@"

使用语句 SELECT @System::MachineNameSELECT @@[System::MachineName]给出错误 'Error Incorrect systax near '::'

我不想将参数传递给查询。我已经搜索了一天,但找不到如何做这件简单的事情!

最佳答案

这是您可以执行此操作的一种方法。以下示例包是使用 SSIS 2008 R2 创建的并使用 SQL Server 2008 R2 作为后端。

  • 在名为 的 SQLServer 数据库中创建一个示例表dbo.PackageData

  • Table structure
  • 创建 SSIS 包。
  • 在 SSIS 上,添加名为 SQLServer 的 OLE DB 连接管理器。连接到您的数据库,比如说连接到 SQL Server 数据库。
  • 在控制流选项卡上,拖放 Execute SQL Task
  • 双击执行 SQL 任务以打开执行 SQL 任务编辑器。
  • 关于 General编辑器选项卡,设置 Connection属性添加到名为 SQLServer 的连接管理器。
  • 在属性(property)SQLStatement , 输入插入语句 INSERT INTO dbo.PackageData (PackageName) VALUES (?)

  • General tab
  • 在“参数映射”选项卡上,单击“添加”按钮,选择要使用的包变量。相应地更改数据类型。这个例子将把 PackageName 插入到一个表中,所以 Data Type将是 VARCHAR .设置 Parameter姓名至 0 ,表示参数的索引值。单击确定按钮。

  • Parameter Mapping tab
  • 执行包。
  • 您会注意到表中插入了一条新记录。我将包名称保留为 Package。这就是为什么表

  • Package data

    希望有帮助。

    关于variables - 如何将系统变量值传递给执行 SQL 任务中的 SQL 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10217121/

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