Answers:
SSIS是进行此操作的方法。如果您以前从未构建过程序包,并且知道源文件(也称为电子表格)总是相同的,则可以使用SQL Server的导入/导出向导。在SSMS中,右键单击数据库,然后选择任务>导入(或导出)数据...
这将打开一个向导,该向导将引导您完成选择源/目标文件以及目标表的步骤(可以创建表(如果尚不存在的话))。您必须映射哪些列在哪里,但向导非常简单。完成后,它将要求您运行或保存程序包(或同时执行两个操作)。保存包。如果您选择将其保存到文件系统,则它将以.dtsx格式保存。您的另一个选择是将程序包保存在SQL Server本身中,然后将其保留在msdb系统数据库中。
保存软件包后,可以创建一个SQL Agent作业以定期运行该软件包(指定时间表),以便始终可以使用SSIS加载表。如果您想了解有关SSIS的更多信息,请在PragmaticWorks上查看我公司的免费网络研讨会(我们涵盖了整个BI堆栈)。
这是一个有关如何将数据从excel导入SQL Server的示例。主要问题之一是确保在Excel和SQL Server之间使用数据转换组件,并执行从NVARCHAR到VARCHAR的转换,因为excel将数据视为NVARCHAR。
使用SQL Server集成服务。就这么简单。
我们无法在这里告诉您如何:太笼统了
我不会丢弃任何东西mr. gbn,Sankar Reddy,SQLChicken
。但是我想说的是,在SQL中导入Excel工作表的简单方法是通过“ OPENROWSET” TSQL。
例如user
在TestDB
数据库中导入Excel表格。假设我已经[user]
在TestDB
数据库中创建了表。那么简单的openrowset TSQL将在下面这样提到
Use TestDB;
Go
select * INTO [User]
from openrowset('MICROSOFT.ACE.OLEDB.12.0',
'Excel 12.0; Database=C:\TestFolder\User.xlsx; HDR=yes; IMEX=1',
'select * from [User$]');
Go
注意:我正在SQL Server 2012环境中编写此TSQL。对于每个SQL Server openrowset OLEDB
提供程序将有所不同。请检查该OLEDB
版本的SQL Server支持的链接服务器->提供程序。就我而言ACE.OLEDB.12.0
。导入之前,请确保Allow inprocess
已对该MICROSOFT.ACE.OLEDB.12.0
提供程序进行了检查。应该这样检查
注意:-已在生产环境中测试。但是在您的情况下,无需在测试环境中进行测试。不要直接在生产环境中运行。