【问题标题】:Consuming web service in SSIS在 SSIS 中使用 Web 服务
【发布时间】:2013-09-11 06:29:29
【问题描述】:

在我的项目中,我只是创建了用于添加数字的 Web 服务,并通过 SSIS 从 Web 服务任务返回变量中的结果,如下面的屏幕所述,

当我使用文件连接模式时,我会以以下格式将 xml 文件保存在我的硬盘上,

<?xml version="1.0" encoding="utf-16"?>

35

我已经尝试通过文件连接或变量将结果为 35 插入到我的数据库表中

  1. 我已经创建了执行 SQL 任务来执行过程查询,点击链接 enter link description here

  2. 我还尝试通过访问变量来运行执行 SQL 任务,请点击链接 [Inserting Data into SQL Server from variables via SSIS]

现在经过所有试验,我担心我能否成功地将结果从 Web 服务存储到用户变量中,如第一个屏幕截图所示,因为我得到了链接 2 中引用的变量的空值,

但是当我在硬盘驱动器上存储数据时,它成功地将结果存储为 xml 格式,如果我不正确,请提供正确的程序或帮助链接...

我的主要座右铭是运行一个网络服务来添加两个数字,并通过 SSIS 的网络服务任务在用户定义的变量中获取结果,然后将获取的数据插入到 sql 数据库中。

此外,在我下面的 Web 服务任务屏幕截图中,这个双绿色箭头的含义

【问题讨论】:

    标签: sql web-services ssis


    【解决方案1】:

    现在经过所有试验,我担心我能否成功地将结果从 Web 服务存储到用户变量中,如第一个屏幕截图所示,因为我得到了链接 2 中引用的变量的空值,

    您的变量只会在运行时(包运行时)被填充。它永远不会在设计时填充(当您按下评估按钮时),除非您在其中手动输入内容。

    第二个绿色箭头只是另一个数据流。如果 XML 任务有多个输出,则使用第二个箭头将其连接到其他内容。它只是一个把手供你抓住。

    这远远超出了您最初问题的范围,但鉴于您已表示要将整个 XML 文件历史记录保存到数据库中,您需要首先关注这一点。从您的其他问题看来,您已经实现了这一点,现在您需要使用 SQL 函数来解决这个问题。您能否验证您已设法将 XML 文件保存到数据库中(以 XML 数据类型)?

    如果是这样,请关闭此问题并专注于将其从数据库中粉碎。这是一个使用 XML 数据类型的示例的链接。您需要了解如何使用此链接中提到的方法提取您的 35。

    Working with the SQL Server XML data type

    这是一个使用 XML 数据的示例

    【讨论】:

    • @ElectricLlama .. 我的意思是说在运行时变量是否正在填充,但是当我在查询中放置常量值时,我的代码最终执行了,那个时间值被插入到数据库中,所以我操纵用于获取 xml 内容的列的数据类型和 xml 文件的全部内容正在进入数据库,现在我假设只获取任何数值的添加结果,我尝试在 web 服务任务和执行 sql 任务,但事情在 xml 任务中,我无法通过包含 Web 服务任务返回的整个 xml 字符串的变量进行处理
    • 在您的示例中,简单的解决方案是使用字符串函数删除 &lt;?xml version="1.0" encoding="utf-16"?&gt; 部分,只留下数字。然后您可以将其转换为整数并进一步使用它。 正确的 解决方案是使用 XPath shred XML,但这在 SSIS 中很棘手。这样做的目的是了解 SSIS 还是存在真正的业务问题?
    • @ElectricLlama .. 这是一个真正的业务问题,我必须使用一些 Web 服务并从 Web 服务返回的结果中更新表格,因此上面提到的问题是我创建的简单 Web 服务为了添加数字,我试图将收到的结果插入到数据库中,我已成功通过执行 SQL 任务更新表,但问题是我无法仅插入数值,整个 xml 字符串都被插入到我的表。
    • 这就是您的 XML 的样子吗?因为简单的解决方案是简单地删除您不喜欢的字符串位。但是,如果您想正确使用 XML,我遇到的所有解决方案都涉及将 XML 插入数据库,然后使用数据库 XML 函数分解出您需要的内容。
    • @ElectricLlama...您能否通过提供说明或帮助问题或链接来指导我使用数据库 XML 函数将其切碎以再次在数据库中获得我所需的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 2010-10-26
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    相关资源
    最近更新 更多