C# .CSV到SQL CE表?

C# .CSV到SQL CE表?,c#,sql,database,visual-studio-2010,sql-server-ce,C#,Sql,Database,Visual Studio 2010,Sql Server Ce,是否有任何方法可以将数据从.csv或tab screeted.txt快速导入SQL Compact Edition 3.5表中 我有大量的数据,无法手动输入 我知道如果我想导入到基于服务器的SQL数据库中,我可以使用批量插入函数,但是这种方法在SQL CE中不起作用 我使用visual studio 2010并安装了SQL Server Management studio 任何帮助都将不胜感激 如果您拥有Microsoft Access,则可以将.csv或分隔的.txt数据作为新表导入,然后升迁

是否有任何方法可以将数据从.csv或tab screeted.txt快速导入SQL Compact Edition 3.5表中

我有大量的数据,无法手动输入

我知道如果我想导入到基于服务器的SQL数据库中,我可以使用批量插入函数,但是这种方法在SQL CE中不起作用

我使用visual studio 2010并安装了SQL Server Management studio


任何帮助都将不胜感激

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

没有直接的方法,您必须读取文件中的每一行,然后逐个插入SQLCE。以前有一些帖子,人们使用C程序将文件读取到数据表中。如果你知道C#的话,它的设置和运行相当简单


Oops刚刚注意到c#是你问题中的一个标记:D

也许越简单越好。没有什么比您自己的代码更容易的了,它可以很容易地扩展。如果需要,您甚至可以让它动态地构建表,但可能不是必需的

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

请参阅:

我处理csv时选择的工具是powershell,因为它内置了导入csv命令。这是一种非常适合这种东西的胶水

这里有一个链接,开发人员在其中导入csv并将其转换为插入脚本。

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

  • 创建一个名为Import-file.ps1的文件,并将脚本内容从链接复制到其中
  • 启动powershell
  • 键入“set executionpolicy remotesigned”(注意:这稍微放松了系统的安全性;但是默认设置不允许运行任何脚本)
  • 导航到包含脚本和导入文件的目录
  • 键入“.\import-file.ps1.\importfile.csv”
  • 按回车键;瞧,您应该在同一个目录中有一个insert sql脚本(在本例中为“importfile.sql”)

  • 最后,由于您可以从powershell中实例化.net对象,因此您可以更改脚本并执行许多操作,如直接将数据插入数据库。

    您可以使用my VS加载项,它基于CSV文件生成insert语句:

    感谢您的快速回复。如何将Access 2010表转换为SQL CE?可能的重复项在SQL CE 4.0上不起作用,因为SSM使用SQL CE 3.5,如果您试图用它打开SQL CE 4.0文件,它会崩溃。