46

我想将数据从Excel文件(假设 Excel 2003 / .xls)导入 Sql Server 2008。

尝试将链接服务器添加到 JET OLE DB Access 驱动程序,当然它在 64 位计算机上失败。但是当我尝试在试验时删除链接服务器时,还有另一个错误说链接服务器已经/仍然存在!

我也尝试将 Excel 驱动程序更改为 32 位(regedit 工具),但不确定它是否在做任何事情,同样的错误即将出现!

更多细节:说 Excel 文件中的 Table1 有 5 列。我想再次使用 5 列映射到 Database.dbo.Table1,但表中的名称不同。有没有办法做这样的导入?

4

3 回答 3

92

在 SQL Server Management Studio 中,打开对象资源管理器,转到要将数据加载到的数据库,右键单击,然后选择任务 > 导入数据。

这将打开导入数据向导,该向导通常非常适合从 Excel 导入。您可以选择一个 Excel 文件,选择要从中导入数据的工作表,您可以选择将其存储到哪个表中,以及列将是什么。确实很灵活。

您可以一次性运行它,也可以将它作为 SQL Server Integration Services (SSIS) 包存储到文件系统或 SQL Server 本身中,然后一遍又一遍地执行它(甚至计划在给定时间,使用 SQL 代理)。

更新:是的,是的,是的,你可以做所有你一直问的事情——你是否至少尝试过一次来运行那个向导?

好的,它来了 - 一步一步:

第 1 步:选择您的 Excel 源

在此处输入图像描述

第 2 步:选择您的 SQL Server 目标数据库

在此处输入图像描述

第 3 步:在 SQL Server 数据库中选择源工作表(来自 Excel)和目标表;请参阅“编辑映射”按钮!

在此处输入图像描述

第 4 步:检查(并根据需要更改)Excel 列到表中 SQL Server 列的映射:

在此处输入图像描述

第 5 步:如果您想稍后使用它,请将您的 SSIS 包保存到 SQL Server:

在此处输入图像描述

第6步: - 成功!这是在 64 位机器上,就像一个魅力 - 去做吧!

于 2010-08-13T07:30:34.680 回答
2

有几种工具可以将 Excel 导入 SQL Server。

我正在使用 DbTransfer (http://www.dbtransfer.com/Products/DbTransfer) 来完成这项工作。它主要专注于在数据库和 excel、xml 等之间传输数据......

我之前尝试过 openrowset 方法和 SQL Server Import / Export Assitant。但是我发现与使用可用的专用工具之一相比,这些方法不必要的复杂且容易出错。

于 2012-04-04T19:03:03.367 回答
1

在 SQL Server 2016 中,向导是一个单独的应用程序。(重要提示:Excel 向导32 位版本的向导中可用!)。使用MSDN 页面获取说明:

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data.
—or—
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard.
—or—
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard.
—or—
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data.
—or—
In a command prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn.

之后,它应该与@marc_s 的答案几乎相同(可能在 UI 上有细微的变化)。

于 2015-08-11T21:15:57.883 回答