我有權訪問系統,如果您在網址中輸入瀏覽器,系統會自動下載.csv文件。該網址的格式如下圖所示將csv數據從安全網址導入表格
https://secure.company.com/csv.cgi?user=username;password=password
我想要做的是某種方式得到MS SQL Server 2012的所有下載和導入自動完成到表什麼。
這可能嗎? 作爲noob猜測會通過存儲過程完成嗎? 如果是這樣的話,會怎樣編碼這樣的東西?
我有權訪問系統,如果您在網址中輸入瀏覽器,系統會自動下載.csv文件。該網址的格式如下圖所示將csv數據從安全網址導入表格
https://secure.company.com/csv.cgi?user=username;password=password
我想要做的是某種方式得到MS SQL Server 2012的所有下載和導入自動完成到表什麼。
這可能嗎? 作爲noob猜測會通過存儲過程完成嗎? 如果是這樣的話,會怎樣編碼這樣的東西?
如何使用類似wget
的文件下載文件,然後查看此blog post以瞭解如何將CSV文件導入數據庫。
即使可能有辦法使用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();
}
不幸的是,我沒有訪問視覺工作室。我如何使用clr存儲過程來做到這一點? – zoonosis
你介意詳細闡述了你的'wget'想法。我從來沒有使用過。 – zoonosis