.CSV to SQL CE Table?
本文关键字:Table CE SQL to CSV | 更新日期: 2023-09-27 17:59:05
是否有任何方法可以将.csv或tab-descripted.txt中的数据快速导入SQL Compact Edition 3.5表?
我有大量的数据,手动输入是不切实际的。
我知道如果我想导入到基于服务器的SQL数据库中,我可以使用BULK INSERT函数,但这种方法在SQL CE中不起作用。
我使用visual studio 2010,并且安装了SQL Server Management studio。
任何帮助都将不胜感激!
您可以使用我的VS插件,它基于CSV文件生成INSERT语句:http://sqlcetoolbox.codeplex.com
也许越简单越好。没有什么比你自己的代码更容易的了,它可以很容易地扩展。如果您愿意,但可能没有必要,您甚至可以让它动态地构建表。
var stuff = from l in File.ReadLines(filename)
let x = l.Split(new [] {',', ' '}, StringSplitOptions.RemoveEmptyEntries)
.Skip(1)
.Select(s => int.Parse(s))
select new
{
Sum = x.Sum(),
Average = x.Average()
};
请参阅:使用LINQ 读取Csv
如果您有Microsoft Access,您可以将.csv或分隔的.txt数据导入为新表,然后升级为SQL数据库。此外,你可以创建一个链接表并复制粘贴数据(比如从Microsoft Excel),它往往是高效和可靠的(将错误放入一个单独的表中,你可以查看)。
没有直接的方法,您必须读取文件中的每一行,然后逐个插入SQLCE。以前有一些关于它的帖子,人们使用C#程序将文件读取到DataTable。如果你知道C#,那么它的设置和运行相当简单。
从DataTable到SQLCE DataSource 的大容量插入
http://ruudvanderlinden.com/2010/10/13/bulk-insert-into-sql-ce-in-c/
Oops刚刚注意到c#是您问题中的标签之一:D
我在处理csv时选择的工具是powershell,因为它内置了导入csv命令。它是这类东西的绝佳粘合剂。
这里有一个链接,开发人员可以导入csv并将其转换为插入脚本。http://allen-mack.blogspot.com/2008/02/powershell-convert-csv-to-sql-insert.html
要从链接运行脚本(注意:powershell会为您提供选项卡完成,因此您可以在键入时使用它来帮助处理文件路径):
- 创建一个名为Import-file.ps1的文件,并将脚本的内容从链接复制到其中
- 启动powershell
- 键入"set executionpolicy remotesigned"(注意:这只是稍微放松了系统的安全性;但默认设置不允许您运行任何脚本)
- 导航到包含脚本和导入文件的目录
- 键入"。''import-file.ps1.''importfile.csv'
- 点击回车键;瞧,您应该在同一个目录中有一个insert sql脚本(即,在我们的案例中为'importfile.sql')
最后,由于您可以从powershell中实例化.net对象,因此您可以更改脚本并执行许多操作,如将数据直接插入数据库。