使用 SSIS 从网站 (URL) 读取多个 CSV 文件?
Posted
技术标签:
【中文标题】使用 SSIS 从网站 (URL) 读取多个 CSV 文件?【英文标题】:Read multiple CSV files from website (URL) using SSIS? 【发布时间】:2020-11-17 13:52:20 【问题描述】:我有一个 SQL Server 表,其中包含许多不同的 URL,每个 URL 都指向相同格式的特定 CSV 文件。无需凭据即可使用该 URL 下载其指向的 CSV 文件。
是否可以使用 SSIS 从该 URL 读取这些 CSV 文件?
我正在尝试将所有 CSV 数据读取到正确的 SQL Server 表中。
我尝试使用平面文件连接,但尝试循环时失败。也尝试了 HTTP 连接,但没有成功。
感谢您的帮助。
【问题讨论】:
使用 Transact-SQL 任务并将文件列表放入对象变量中。然后使用 For Each 循环容器迭代该对象变量。 我使用 Object 变量和 Execute SQL Task 使它工作,然后在循环中使用 For Each ADO Enumerator 下载文件。使用脚本任务下载文件(注意不能直接读取,需要下载csv的物理副本)这篇文章也很有帮助docs.microsoft.com/en-us/archive/blogs/benjones/… 【参考方案1】:设置一个名为 URLS 的对象变量
执行映射到 URLS 的 SQL 任务
Foreach(URL 上的 ADO 对象)
设置名为 url 的字符串变量
将 foreach 变量设置为 url
在foreach中添加脚本任务
将网址添加为已读
添加此脚本
System.Net.WebClient wc = new System.Net.WebClient();
wc.DownloadFile(Dts.Variables["url"].Value, @"C:\[where you want to go].csv");
添加数据流来处理下载的文件。
【讨论】:
以上是关于使用 SSIS 从网站 (URL) 读取多个 CSV 文件?的主要内容,如果未能解决你的问题,请参考以下文章