【问题标题】:How to load excel data into sql server 2008 table?如何将excel数据加载到sql server 2008表中?
【发布时间】:2013-03-15 09:26:59
【问题描述】:
DBMS - 带有管理工作室 (GUI) 的 SQL Server 2008 r2
Excel 文件 - 列与目标表中的列完全相同
如何将excel表中的数据加载到sql表中?这种做事方式有什么潜在的问题吗?例如,一列不允许为空,但
excel 有一个空值。
【问题讨论】:
标签:
sql-server-2008
sql-server-2008-r2
【解决方案1】:
将 XLS 数据直接导入 SQL 的最简单方法是使用导入向导。
您可以通过在向导运行时让导入向导为您创建表来执行此操作,或者,您可以事先创建表,然后使用向导并将该表用作目标表。
我更喜欢后一种方法,因为我喜欢用我想要的数据类型来控制我的表创建。
要找到导入向导,只需右键单击数据库名称,任务 -> 导入数据
【解决方案2】:
您还可以在 SQL Server Integration Services 中使用 Excel 数据源。
不过有一些注意事项:
- 如果您在 64 位操作系统中运行,请确保您的包属性设置为禁用 64 位运行时,否则从 Excel 2003-2007 导入将失败。您将收到连接错误。
- 花点时间使用高级编辑器将列缩小到您需要的大小,否则默认情况下每个字段都会显示为 nvarchar(255),这很浪费空间。如果您要映射到现有表,则可能还需要转换数据类型。
这种方法的优点是您可以更轻松地重复使用它,当然您也可以保存向导创建的包。
乔伊·摩根
程序员/分析师校长 I
WellPoint 医疗补助业务部门