從SQL Server導入/導出數據有沒有一種方法來以編程方式調用SQL Server的導入/導出實用程序。 在我的網絡應用程序中,我想從某些數據庫表導入/導出數據爲CSV,反之亦然,只需使用SQL Server工具即可。 這可能嗎?通過代碼
Q
通過代碼
0
A
回答
0
您可以從可用於從SQL Server表中的數據導入到你的web應用程序BCP命令一個csv文件,然後將數據從csv導出到表中。
從SQL表中的數據導出到文本文件
BCP Database.TableName out "Location of the text file " -c -S ServerName -T
從平面文件將數據加載到表
BCP Database.TableName in "Location of the text file " -c -S ServerName -T
0
既然你已經使用.net,你可以創建一個連接字符串,解析你的csv文件,然後在你的表中插入行,或者使用其他的c#類。如果你真的想調用外部的* .exe使用C#,你可以做到以下幾點:
Process pLight = new Process();
// Redirect the output stream of the child process.
pLight.StartInfo.UseShellExecute = false;
pLight.StartInfo.CreateNoWindow = false;
pLight.StartInfo.RedirectStandardOutput = true;
pLight.StartInfo.FileName = "c:\path\to\light.exe";
pLight.StartInfo.Arguments = "-i -d -ext ";
pLight.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string lightoutput = pLight.StandardOutput.ReadToEnd();
pLight.WaitForExit();
+0
我使用LINQ到SQL,所以也不是那麼容易將CSV文件中的值導入到對象中...您能否告訴我一些更好的方法? – davioooh
+0
你可能想看看在LinqToSQL中使用文件路徑執行存儲過程到csv文件嗎? http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx –
相關問題
我該如何運行這些命令?像任何其他**「SELECT」**或**「UPDATE」**語句?注意我正在使用Linq to SQL ... – davioooh
我不知道如何使用Linq來完成它,但是你可以執行上面的命令就像運行存儲過程一樣。例如string sql; sql =「BCP語句」執行master..xp_cmdshell sql – praveen