0
我已经实现了一个web和Windows应用程序,该应用程序击中包含csv文件路径的URL。我使用WebClient
来下载文件,然后从.csv
读取数据并写入SQL Server表。从URL导入CSV并存储到SQL Server表中而不下载文件
有没有办法做到这一点,而无需下载/保存.csv
并使用存储过程将URL的响应.csv
写入SQL Server表中?
下面是我工作的C#代码的片段。
URL_VALUE = "http://test.url.com/table.csv?test.csv";
string csvPath = "~C:\\SaveFile\\test.csv";
WebClient client = new WebClient();
client.DownloadFile(@URL_VALUE, csvPath);
writeToSQL(csvPath, Symbol);
// Code snippet for SQL Write operation
public void writeToSQL(string url, string filepath)
{
using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connection))
{
// Set the database table name
sqlBulkCopy.DestinationTableName = "dbo.csv_PopulateData";
sqlBulkCopy.ColumnMappings.Add("Col1", "Val1");
sqlBulkCopy.ColumnMappings.Add("Col2", "Val2");
sqlBulkCopy.ColumnMappings.Add("Col3", "Val3");
sqlBulkCopy.WriteToServer(table);
}
}
无论这是否可能,从安全的角度来看,我总是避免数据库直接与互联网通信。 –
感谢您的领导!我将尝试编写一个RESTFull API,它将以JSON/XML格式获取httpResponse,然后写入SQL Server表。 –
使用'HttpWebRequest'和'HttpWebResponse'方法我能够从URL上的'.csv'文件中提取数据并写入SQL Server表。 –