SSIS 2008。非常简单的任务。我想检索系统变量并在 SQL INSERT 中使用它。我想检索的值System:MachineName
并在插入语句中使用它。
使用声明INSERT INTO MYLOG (COL1) SELECT @[System::MachineName]
给出错误Error: ..failed to parse. Must declare the scalar variable "@"
使用语句SELECT @System::MachineName
or SELECT @@[System::MachineName]
给出错误'Error Incorrect systax near '::'
我不想将参数传递给查询。我已经搜索了一天,但找不到如何做这一件简单的事情!
这是您可以执行此操作的一种方法。以下示例包是使用创建的SSIS 2008 R2
并使用SQL Server 2008 R2作为后端。
- 在 SQLServer 数据库中创建一个示例表,名为
dbo.PackageData
- 创建 SSIS 包。
- 在 SSIS 上,添加名为的 OLE DB 连接管理器
SQLServer
连接到您的数据库,例如 SQL Server 数据库。
- 在控制流选项卡上,拖放
Execute SQL Task
- 双击执行 SQL 任务以打开执行 SQL 任务编辑器。
- On the
General
编辑器选项卡中,设置Connection
属性为您的连接管理器名称 SQL Server。
- 物业内
SQLStatement
,输入插入语句INSERT INTO dbo.PackageData (PackageName) VALUES (?)
- 在“参数映射”选项卡上,单击“添加”按钮,选择您要使用的包变量。相应地更改数据类型。此示例将把 PackageName 插入到表中,因此
Data Type
将会VARCHAR
。设置Parameter
命名为0
,表示参数的索引值。单击“确定”按钮。
- 执行包。
- 您将注意到表中插入了一条新记录。我将包名称保留为 Package。这就是为什么表
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)