我想将具有4,8M条记录的CSV导入SQL 2008表。我正在尝试使用Management Studio向导,但它一直在尝试识别CSV没有的标题行。我没有找到任何跳过此选项的选项,虽然我自己指定了列,但向导仍然会尝试查找标题行,并且在没有它的情况下不导入任何内容。
CSV的结构是
“818180”, “25529”, “达里奥”, “佩雷拉”, “罗萨里奥”, “SF”, “2010-09-02”
我也尝试过像BULK INSERT这样的替代品,但后来我发现使用BULK INSERT我无法使用文本限定符导入文件。
答案 0 :(得分:5)
一次性导入的最简单方法肯定是SQL Server Management Studio中的“导入数据”功能。这将启动一个向导,允许您定义从哪里导入数据 - 选择“平面文件源”。下一个对话框允许您浏览要导入的文件,并且可以在该对话框中指定所有类型的东西(例如文件的编码,文本限定符是什么 - 如果有的话 - 等等。
您也可以选择跳过任意数量的行(例如“跳过前5行”),或者您可以选择第一行包含列名。
alt text http://i39.tinypic.com/cj6ep.png
如果您的文件在第一行中没有列名,取消选中该选项。
如果需要反复导入,可以将导入的所有信息保存为SQL Server(或外部SSIS文件)中的Integration Services包,然后可以再次运行该导入,再次从SQL Server代理“作业”菜单(启用SQL Server代理,如果您还没有,并找到“作业”子项目 - 您应该看到那里的所有作业,您可以从该菜单再次启动它们)。
如果您愿意,您也可以从C#或VB.NET代码中启动这些SSIS包 - 请查看此CodeProject article或查看有关该主题的Michael Entin's blog post。
答案 1 :(得分:-1)
取消选中“第一行有列名”