我試圖將SQL表數據導出到C#代碼中具有'〜'分隔符的文本文件。 當數據很小時很好。當它很大時,它會拋出一個內存不足的例外。將表數據導出爲文本文件+ C#+ SQL Server
我的代碼:
public static void DataTableToTextFile(DataTable dtToText, string filePath)
{
int i = 0;
StreamWriter sw = null;
try
{
sw = new StreamWriter(filePath, false); /*For ColumnName's */
for (i = 0; i < dtToText.Columns.Count - 1; i++)
{
sw.Write(dtToText.Columns[i].ColumnName + '~');
}
sw.Write(dtToText.Columns[i].ColumnName + '~');
sw.WriteLine(); /*For Data in the Rows*/
foreach (DataRow row in dtToText.Rows)
{
object[] array = row.ItemArray;
for (i = 0; i < array.Length - 1; i++)
{
sw.Write(array[i].ToString() + '~');
}
sw.Write(array[i].ToString() + '~');
sw.WriteLine();
}
sw.Close();
}
catch (Exception ex)
{
throw new Exception("");
}
}
有沒有更好的方式在存儲過程或BCP命令來做到這一點?
你有沒有試過寫作說1000行,關閉然後打開文件? – griegs 2011-01-24 01:15:04