我有制表符分隔的文本文件.文件大约100MB.我想将此文件中的数据存储到SQL Server表.存储在sql server中时,该文件包含100万条记录.实现这一目标的最佳方法是什么?我可以在c#中的momory数据表中创建,然后将其上传到s...

我有制表符分隔的文本文件.文件大约100MB.我想将此文件中的数据存储到SQL Server表.存储在sql server中时,该文件包含100万条记录.实现这一目标的最佳方法是什么?
我可以在c#中的momory数据表中创建,然后将其上传到sql server,但在这种情况下,它会将整个100 MB的文件加载到内存中.如果文件大小变大怎么办?
解决方法:
没问题; CsvReader将处理大多数分隔的文本格式,并实现IDataReader,因此可用于提供SqlBulkCopy.例如:
using (var file = new StreamReader(path))
using (var csv = new CsvReader(file, true)) // true = first row is headers
using (var bcp = new SqlBulkCopy(connectionString))
{
bcp.DestinationTableName = "Foo";
bcp.WriteToServer(csv);
}
请注意,CsvReader有更多选项,更精细的文件处理(指定分隔符规则等). SqlBulkCopy是高性能的批量加载API – 非常高效.这是一个流式读写器API;它不会立即将所有数据加载到内存中.
织梦狗教程
本文标题为:使用c#从分隔文本文件中插入SQL Server表中的批量数据


基础教程推荐
猜你喜欢
- DotNetCore5.0 WebApi 发布IIS服务器后网站无法打开报404问题处理 2023-09-27
- 基于C#实现简易的键盘记录器 2023-06-28
- .NET Core 编写的 Windows 远程桌面记录清理工具 2023-09-27
- net core quartz调度 warp打包 nssm部署到windowsservice 2023-09-26
- c# – Windows服务不执行代码 2023-09-19
- C#实现封面图片生成器的示例代码 2023-06-28
- Unity3D使用Shader实现腐蚀消失 2023-01-16
- 详解C# winform ListView的基本操作 2023-05-16
- c# – 使用Entity Framework 6 Code First创建SQL视图 2023-11-10
- C# SelectedIndexChanged事件详解 2023-04-27