有没有办法从 Excel 中的一行数据对 SQL Server 进行批量更新?我们有包含 2000+ 行的 excel 文档,需要在 SQL Server 中导入。有没有办法在不一遍又一遍地调用数据库来一次插入一行的情况下批量插入这些家伙?
3 回答
SQL Server Integrations Services 提供基于向导的导入,可帮助您轻松设置包以导入 excel 文件。您甚至可以保存包并安排它在将来重复导入。
您还有其他选择。如果将 excel 文件保存为逗号或制表符分隔的文本文件,则可以使用 BULK INSERT t-sql 命令。请参阅sqlteam.com 论坛上的示例。
另一个 T-SQL 选项是 SELECT INTO。Excel 是来自 T-SQL 的有效 OLEDB 或 ODBC 数据源。这是一个例子。
Microsoft SQL Server 中还包含一个名为 BCP 的命令行导入工具。关于 BCP 和其他选项的良好文档可以在 MSDN 上找到:http: //msdn.microsoft.com/en-us/library/ms187042.aspx
您可以创建一个 SSIS 包来读取您的 Excel 文件。创建任务时,您可以选择“Excel”连接类型,然后它会帮助您创建“Excel 连接管理器”。然后,您可以轻松地将数据发送到您的 SQL Server 表。这里有一个关于如何将 Excel 文件导入 SQL Server (2005) 的教程。给它看看。
是的!使用 SSMS 的导入/导出向导!使用 Excel 源和 SQL Server 目标。如果您将 Excel 工作表转换为 CSV 文件,您还可以在 BIDS 中创建 SSIS 包或使用 T-SQL 中的 BULK INSERT 语句。