-3

我是 SSIS 的新手。我的要求是从 asp.net 网页中的 EXCEL 电子表格中提取数据。我将不得不每天从该页面提取数据。我怎样才能做到这一点?

4

1 回答 1

2

把你的问题分解成更小的块,直到你有可以解决的问题。一旦解决了所有较小的问题,您就需要将这些部分整合在一起以形成一个有凝聚力的解决方案。

阅读您的问题陈述,我看到您有以下需求

  • 从 Excel 数据源中提取数据(注意,您的问题并未指定应该如何处理)
  • 从网页获取 Excel 电子表格
  • 使用 SSIS 来管理这个

提取数据

定义Excel 连接管理器并将其配置为使用您的文件。我希望为您着想,文件的格式是一致的,因为如果推断的数据类型发生更改,数据流任务将停止。

将数据流任务添加到您的控制流并作为您的源,使用 Excel 数据源并将连接管理器设置为您刚刚创建的 Excel CM。选择适当的目的地并将其连接起来。请注意,Excel 中的字符串数据是 nvarchar/unicode,因此您需要使用数据转换任务将其切换为非 unicode 类型。

下载文件

鉴于缺乏细节,我只能猜测您的需求。因此,我猜 Excel 文件是网页上的链接。该网页是公开的,因此无需登录。我进一步假设网站上的文件总是会被命名为相同的东西,因此http://contoso.com/Yogurt.xls如果文件名发生变化,http://contoso.com/Yogurt_2013-05-19 .xls , http://contoso.com/Yogurt_2013-05-20.xls等然后你有一个解析 HTML 以找到适当链接的子问题。

有了所有这些警告,我将介绍WebClient.DownloadFile

string url = @"http://contoso.com/Yogurt.xls";
string downloadFile = @"C:\ssisdata\yogurt.xls";
WebClient wc = new WebClient();

wc.DownloadFile(url, downloadFile);

由于它针对位置进行了硬编码,不执行错误处理等,因此此代码尚未准备好用于黄金时段,但它演示了解决方案。

使用 SSIS

上面的代码将放置在Script Task我将传递 url 并将文件作为变量下载到任务中,这样我就有了一个通用的文件抓取任务。

于 2013-05-20T12:46:05.690 回答