C#使用DataReader和CSV编写器批量/分块导出SQL Server大表。
在C#中,可以使用DataReader和CSV编写器来批量或分块导出SQL Server大表数据。下面是一个完善且全面的答案:
在C#中使用DataReader和CSV编写器批量/分块导出SQL Server大表的示例代码如下:
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
public class Program
{
public static void Main()
{
string connectionString = "Your SQL Server connection string";
string query = "SELECT * FROM YourTable";
string outputPath = "Your output CSV file path";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
using (StreamWriter writer = new StreamWriter(outputPath))
{
// 写入CSV文件的表头
for (int i = 0; i < reader.FieldCount; i++)
{
writer.Write(reader.GetName(i));
if (i < reader.FieldCount - 1)
{
writer.Write(",");
}
}
writer.WriteLine();
// 逐行写入CSV文件的数据
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
writer.Write(reader[i]);
if (i < reader.FieldCount - 1)
{
writer.Write(",");
}
}
writer.WriteLine();
}
}
}
}
}
Console.WriteLine("导出完成!");
}
}
以上代码使用了C#的SqlConnection、SqlCommand、SqlDataReader等类来连接SQL Server数据库并执行查询操作,然后使用StreamWriter类将查询结果逐行写入CSV文件中。
请注意,以上示例代码仅为演示目的,实际使用时需要根据具体情况进行适当的错误处理、性能优化等。
领取专属 10元无门槛券
手把手带您无忧上云