如何从 SSIS 发出 HTTP 请求?

2023-11-24

我有兴趣了解如何从 SSIS 进行 HTTP 调用。例如,我希望能够从以下位置下载文件http://www.domain.com/resource.zip并记录下载的日期时间和驱动器上文件的目的地。我还想捕获文件大小等属性并捕获下载完成时的日期和时间。


您可以使用命名空间System.Net.WebClient在以下命令的帮助下发出 Http 请求Script Task在SSIS中。以下示例展示了如何实现这一点。该示例创建于SSIS 2008 R2.

分步过程:

  1. 创建一个新的SSIS包并创建两个变量,即远程Uri and 本地文件夹。设置变量RemoteUri与价值http://www.google.com/intl/en_com/images/srpr/logo1w.png。这是 Google 主页上徽标的图像 URL。设置变量LocalFolder与价值C:\temp\。这是我们要保存内容的路径。参考截图#1.

  2. 在 SSIS 包上,放置一个Script Task。将脚本任务中的 Main() 方法替换为脚本任务代码部分。参考截图#2.

  3. 截屏 #3显示路径C:\temp\是空的。

  4. 截屏 #4显示包执行成功。

  5. 截屏 #5显示内容(在本例中为徽标图像)已下载到本地文件夹路径。

  6. 截屏 #6显示代码经过测试可以下载 .zip 文件。为了实现这一点,变量的值远程Uri已更改为需要下载的内容 url。

脚本任务代码:

C#代码只能在SSIS 2008 and above.

public void Main()
{
    Variables varCollection = null;

    Dts.VariableDispenser.LockForRead("User::RemoteUri");
    Dts.VariableDispenser.LockForRead("User::LocalFolder");
    Dts.VariableDispenser.GetVariables(ref varCollection);

    System.Net.WebClient myWebClient = new System.Net.WebClient();
    string webResource = varCollection["User::RemoteUri"].Value.ToString();
    string fileName = varCollection["User::LocalFolder"].Value.ToString() + webResource.Substring(webResource.LastIndexOf('/') + 1);
    myWebClient.DownloadFile(webResource, fileName);

    Dts.TaskResult = (int)ScriptResults.Success;
}

屏幕截图#1:

1

屏幕截图#2:

2

屏幕截图#3:

3

屏幕截图#4:

4

屏幕截图#5:

5

屏幕截图#6:

6

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 SSIS 发出 HTTP 请求? 的相关文章

  • 生成脚本 - 仅数据 - 循环依赖项发现错误

    我正在尝试生成数据库中所有数据的脚本 以便我可以将数据移动到另一台服务器上的相同数据库 在 SQL Server 2012 中 我右键单击源数据库 任务 gt 生成脚本 gt 为整个数据库和所有数据库对象编写脚本 gt 高级 gt 要编写脚
  • 脚本任务无法在 Visual Studio 2013 中打开编辑器

    我正在使用 SSIS 2014 和 Visual Studio 2013 当我单击脚本任务的 编辑脚本 按钮时 没有错误 没有任何反应 但脚本编辑器没有打开 我在我的机器上安装后什么也没发生 Microsoft Visual Studio
  • RESt api:根据身份验证对资源和内容进行识别

    我正在设计一个遵循 HATEOAS REST 原则的 API 但我不确定这个基本点 资源识别 假设这个网址 images它公开了用户 向该用户 上传的所有图像 假设我使用 oauth 访问令牌进行身份验证 images 的内容将根据授权标头
  • Android 套接字和 HTTP 响应标头

    有趣的是 我可能无意中找到了解决方案是否可以使用普通套接字连接发送 HTTP 请求并接收没有标头的响应 https stackoverflow com questions 8320574 我希望我忽略了一些东西 无论如何 我正在连接到 We
  • 如何用 C 语言通过 HTTP 协议发送图像?

    我是一名正在做网络服务器练习的学生 我需要一些帮助 我的网络服务器在文本页面上运行良好 但是每当浏览器发送一个 GET img jpg HTTP 1 1请求 我不知道如何处理 我听说 HTTP 协议是基于文本的 那么如何在 HTTP 响应中
  • Node.js 上的 Connect 出现“无法 GET /”

    我正在尝试使用以下方式开始提供一些静态网页connect像这样 var connect require connect var nowjs require now var io require socket io var app conne
  • 在 HTTP PATCH 请求中包含数据的正确方法

    当我组合 HTTP PATCH 请求时 可以选择哪些选项来包含 URL 参数之外的数据 以下任何一项都有效吗 最常见的选择是什么 多部分 表单数据 应用程序 x www form urlencoded Raw JSON 还有其他的吗 HTT
  • 使用 HTTP-Basic 身份验证发出 HTTP GET 请求

    我需要为我正在开发的 Flash Player 项目构建一个代理 我只需要使用 HTTP Basic 身份验证向另一个 URL 发出 HTTP GET 请求 并提供来自 PHP 的响应 就好像 PHP 文件是原始源一样 我怎样才能做到这一点
  • HTTPbis - bis 是什么意思?

    我经常看到 bis 附加到协议版本 例如 v 34bis 或 httpbis bis 是什么意思或代表什么 我认识的一位电信工程师认为它可能起源于法国 正如其他人已经说过的 bis 来自 两次 或 重复 http oxforddiction
  • Google Closure 编译器和 multipart/form-data 不起作用

    我正在向 google 闭包编译器 API 服务发出请求 content file get contents file js url http closure compiler appspot com compile post true p
  • HTTP 错误 415 我做错了什么?

    我正在发送 SOAP POST 但收到 HTTPError HTTP 错误 415 不支持的媒体类型 response urllib2 urlopen req data
  • SSIS 将字符转换为布尔值/位

    我有一个SSIS包来加载数据 您可能还记得 当我尝试将数据文件中的标志作为位标志加载到 SQL Server 中时 这些标志作为 Y N char 1 存在 我将数据文件中的列指定为String DT STR 我有一个数据转换任务 根据以下
  • SSIS-从 Sharepoint 下载 Excel 并将其加载到 SQL 数据库

    我目前遇到的情况是共享点网站上有一个 Excel 文件 我需要将该 Excel 文件加载到数据库中 Excel 文件有多个工作表 我尝试过以下方法 但运气为零 方法 1 我访问 sharepoint 站点并访问 库 选项卡 并选择使用资源管
  • 使用 dtexec 运行 SSIS 包

    我正在使用 dtexec 运行 SSIS 包 该软件包在我的系统上的 BIDS 中运行良好 当我创建 SQL Server 代理作业以按计划运行包时 包运行步骤被安排为 T SQL 任务 而不是 SSIS 包 该作业没有报告错误 但它甚至没
  • HTTP 响应可以省略 Reason-Prase 吗?

    正常的 HTTP 响应如下所示 HTTP 1 0 200 OK 可以省略什么吗RFC http www w3 org Protocols rfc2616 rfc2616 sec6 html称为原因短语 就像是 HTTP 1 0 200 RF
  • URL 哈希在重定向之间持续存在

    由于某种原因 当发送服务器端重定向 使用 Location 标头 时 非 IE 浏览器似乎会保留 URL 哈希 如果存在 例子 a simple redirect using Response Redirect http www yahoo
  • 如何在 Rails 中重定向到 404?

    我想在 Rails 中 伪造 404 页面 在 PHP 中 我只发送一个带有错误代码的标头 如下所示 header HTTP 1 0 404 Not Found Rails 是如何做到这一点的 不要自己渲染 404 没有理由这样做 Rail
  • AddressAccessDeniedException :无需 netsh 即可解决它?

    我遇到了异常AddressAccessDeniedException因为我的processus没有注册URL的权限 我首先以管理员身份运行我的程序 好的 它成功了 但我现在想要分发我的应用程序 并且我希望每个用户都能够运行它 而不必成为管理
  • Tomcat 7 停止接收 HTTP 请求

    我有一个Tomcat 7接收大量数据的服务器GET 要求 这种方法在一段时间内效果很好 然后突然停止工作 7 8 小时后 当它停止工作时 我收到此错误 五月 06 2015 12 47 58 AM org apache coyote htt
  • iPhone - 从网络服务器获取文件的上次修改日期

    我想检查网络服务器上文件的上次修改日期 任何帮助都会很棒 谢谢 NSURLRequest request NSURLRequest alloc initWithURL aURL NSHTTPURLResponse response NSUR

随机推荐