gpt4 book ai didi

c# - 将 System.Object 类型的 DTS.Variables 转换为列表

转载 作者:行者123 更新时间:2023-11-30 17:26:33 25 4
gpt4 key购买 nike

我有一个 SSIS 程序包,它执行 SQL 任务以获取我需要连接的服务器的名称。然后,该查询的结果存储在一个名为“服务器”的变量对象中。然后我想一次在每台服务器上运行另一个包,所以我想拆分出“服务器”变量。但是,当我在 C# 脚本任务中执行此操作时,我不断收到错误消息:

错误:脚本任务中的 0x1:调用的目标已抛出异常。

下面是拆分服务器变量的代码:

Error: 0x1 at Script Task: Exception has been thrown by the target of an invocation.

public void Main()
{
var serverlist = (string[])Dts.Variables["User::servers"].Value;

Dts.Variables["server1"].Value = serverlist[0];
Dts.TaskResult = (int)ScriptResults.Success;
}

这应该是一个非常简单的代码,但由于某些原因,它就是不起作用。

最佳答案

既然你已经提到了:

I have an SSIS package that executes a SQL task in order to get the names of servers

主要问题在下面一行:

var serverlist = (string[])Dts.Variables["User::servers"].Value;

Execute SQL Task 返回的不是字符串列表,而是一个记录集对象。为了在脚本任务中阅读它,您必须遵循以下帖子(您必须使用 OledbAdapter):

关于c# - 将 System.Object 类型的 DTS.Variables 转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346452/

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