1

我可以访问一个系统,如果你在浏览器中输入一个 url,它会自动下载一个 .csv 文件。网址格式如下

https://secure.company.com/csv.cgi?user=username;password=password

我想做的是以某种方式让 MS SQL Server 2012 完成所有下载并自动导入表中。

这甚至可能吗?作为一个菜鸟猜测它会通过存储过程完成吗?如果是这样,一个人将如何编码这样的事情?

4

2 回答 2

0

如何使用wget下载文件之类的东西,然后查看这篇博客文章,了解如何将 CSV 文件导入数据库。

于 2013-06-26T04:45:28.540 回答
0

尽管可能有一种方法可以使用 SQL Server 发送 http 请求,但使用 SQL 查询,我强烈建议您从 C# 执行此操作。您可以为此开发一个小型应用程序或使用 CLR 存储过程。

只需更新 YourTable 和下载路径,就可以了。

protected const string FILE_NAME = @"C:\tablevalues.csv";

protected const string SQL_INSERT = "BULK INSERT YourTable FROM {0} WITH (         FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')";

protected void DownloadFile()
{
WebClient webClient = new WebClient();
webClient.DownloadFile("https://secure.company.com/csv.cgi?user=username;password=password", FILE_NAME);

SqlConnection sqlConnection = new SqlConnection("connection string");
SqlCommand sqlCommand = new SqlCommand(string.Format(SQL_INSERT, FILE_NAME), sqlConnection);

sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
sqlConnection.Dispose();

}

于 2013-06-26T14:42:41.360 回答