我可以访问一个系统,如果您在浏览器中输入网址,它将自动下载.csv文件。网址格式如下
https://secure.company.com/csv.cgi?user=username;password=password
我想做的是以某种方式让MS SQL Server 2012自动完成所有下载并导入到表中。
这甚至可能吗? 作为noob猜测它是通过存储过程完成的吗? 如果是这样,那么如何编码呢?
答案 0 :(得分:0)
如何使用wget
之类的内容下载文件,然后查看此blog post以了解如何将CSV文件导入数据库。
答案 1 :(得分: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();
}