2013-06-26 72 views
1

我有權訪問系統,如果您在網址中輸入瀏覽器,系統會自動下載.csv文件。該網址的格式如下圖所示將csv數據從安全網址導入表格

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

我想要做的是某種方式得到MS SQL Server 2012的所有下載和導入自動完成到表什麼。

這可能嗎? 作爲noob猜測會通過存儲過程完成嗎? 如果是這樣的話,會怎樣編碼這樣的東西?

回答

0

如何使用類似wget的文件下載文件,然後查看此blog post以瞭解如何將CSV文件導入數據庫。

+0

你介意詳細闡述了你的'wget'想法。我從來沒有使用過。 – zoonosis

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(); 

}

+0

不幸的是,我沒有訪問視覺工作室。我如何使用clr存儲過程來做到這一點? – zoonosis