【问题标题】:BCP utility to create a format file, to import Excel data to SQL Server 2008 for BULK insertionBCP 实用程序创建格式文件,将 Excel 数据导入 SQL Server 2008 以进行批量插入
【发布时间】:2011-03-29 11:37:54
【问题描述】:
我正在尝试将 Excel 2003 数据导入 SQL Server 2008 的 SQL 表中。
尝试添加链接服务器,但收效甚微。
现在我正在尝试检查是否有办法使用 BCP 实用程序通过 OPENROWSET 执行 BULK 插入或 BULK 操作,使用格式文件获取 Excel 映射。
首先,如何为表格创建一个格式文件,该表格的列名称与 Excel 电子表格的列不同?
接下来,如何使用这个格式文件从一个文件中导入数据:C:\Folder1\Excel1.xsl
进入表Table1?
谢谢。
【问题讨论】:
标签:
sql
excel
bcp
bulk
openrowset
【解决方案1】:
有一些示例here 演示了数据文件应该是什么样子 (csv) 以及格式文件应该是什么样子。除非你需要做很多,否则我只会手工制作格式文件,将 excel 数据保存到 csv,然后尝试使用 bcp 或 OPENROWSET。
格式文件指定目标的列名。数据文件没有列标题,因此您无需担心 excel(源)列不同。
如果您需要做更多的映射等,然后创建一个 SSIS 包。您可以使用数据导入向导开始,然后另存为 SSIS 包,然后编辑您喜欢的内容。
如果是一次性的,我会使用 SQL 数据导入大小,在 mgmt studio 中右键单击数据库。如果您只有几行要从 excel 导入,我通常会打开一个查询以编辑前 200 行,编辑查询以匹配我在 excel 中的列,然后将行从 excel 复制并粘贴到 SQL mgmt studio 中。不能很好地处理错误,但很快。