使用SSIS从asp.net网页中提取数据

时间:2013-05-20 03:05:58

标签: ssis

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

1 个答案:

答案 0 :(得分:2)

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

阅读您的问题陈述,我发现您有以下需求

  • 从Excel数据源中提取数据(注意,您的问题未指定您应该使用它做什么
  • 从网页获取Excel电子表格
  • 使用SSIS来管理此

提取数据

定义Excel Connection Manager并将其配置为使用您的文件。我希望您的文件格式是一致的,因为如果对推断的数据类型进行了更改,数据流任务就会被禁止。

将数据流任务添加到Control流中,并使用Excel数据源并将Connection Manager设置为刚刚创建的Excel CM。选择适当的目的地并进行连线。请注意,Excel中的字符串数据是nvarchar / unicode,因此您需要使用数据转换任务将其切换为非unicode类型。

下载文件

鉴于缺乏细节,我只能猜测你的需求。因此,我猜Excel文件是网页上的链接。该网页是公开的,因此无需登录。我进一步假设网站上的文件总是被命名为相同的东西,因此http://contoso.com/Yogurt.xls如果文件名更改,http://contoso.com/Yogurt_2013-05-19.xlshttp://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并将文件作为Variables下载到任务中,以便我有一个通用的文件抓取任务。