.CSV到SQL CE表?

时间:2011-06-15 01:35:27

标签: c# sql database visual-studio-2010 sql-server-ce

有没有办法快速将.csv或制表符.txt中的数据导入SQL Compact Edition 3.5表?

我有大量数据对手动输入不切实际。

我知道如果我想导入基于服务器的SQL数据库,我可以使用BULK INSERT函数,但此方法在SQL CE中不起作用。

我使用visual studio 2010,我安装了SQL Server Management Studio。

任何帮助将不胜感激!

5 个答案:

答案 0 :(得分:5)

您可以使用我的VS加载项,该加载项根据CSV文件生成INSERT语句:http://sqlcetoolbox.codeplex.com

答案 1 :(得分:2)

也许更简单更好。没有什么比你自己的代码更容易,可以很容易地扩展。如果你愿意,你甚至可以动态地构建表,但可能没有必要。

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()
            };

请参阅:Read Csv using LINQ

答案 2 :(得分:1)

如果您有Microsoft Access,则可以将.csv或分隔的.txt数据导入为新表,然后升迁到SQL数据库。您还可以创建链接表并复制粘贴数据(例如从Microsoft Excel),它往往是高效可靠的(将错误放入您可以查看的单独表中)。

答案 3 :(得分:1)

没有直接的方法,您必须读取文件中的每一行并逐个插入SQLCE。之前有一些帖子,人们使用C#程序将文件读​​取到DataTable。如果您了解C#,则设置和运行起来相当简单。

Bulk insert from DataTable to SQLCE DataSource

http://ruudvanderlinden.com/2010/10/13/bulk-insert-into-sql-ce-in-c/

哎呀刚注意到c#是你问题中的一个标签:D

答案 4 :(得分:1)

我在处理csv时选择的工具是PowerShell,因为它内置了一个import-csv命令。它是这种东西的绝佳粘合剂。

这是开发人员导入csv并将其转换为插入脚本的链接。 http://allen-mack.blogspot.com/2008/02/powershell-convert-csv-to-sql-insert.html

从链接运行脚本(注意:powershell为您提供了标签完成功能,因此您可以在键入时使用它来帮助处理文件路径):

  1. 创建一个名为Import-File.ps1的文件,并将链接中的脚本内容复制到其中。
  2. 启动powershell
  3. 输入'set-executionpolicy remotesigned'(注意:这会稍微放松系统的安全性;但默认设置不允许您运行任何脚本)
  4. 导航到包含脚本和导入文件的目录
  5. 键入'。\ import-file.ps1。\ importfile.csv'
  6. 点击进入;瞧,你应该在同一个directoy中插入一个sql脚本(例如,在我们的例子中是'importfile.sql')
  7. 最后,由于您可以在powershell中实例化.net对象,因此您可以更改脚本并执行许多操作,例如将数据直接插入数据库。