如何在不使用导入和导出向导的情况下将数据导入 SQL 服务器

How to import data into SQL Server without using import and export wizard

我有大量文本文件要导入 SQL 服务器。我可以使用导入和导出向导,然后必须手动调整列名和数据类型。

我一直在寻找一些给出的选项 bcpBulk Insert。我按照给定的代码 (https://www.mssqltips.com/sqlservertip/1207/different-options-for-importing-data-into-sql-server/) 却一无所获。下面是我试过的代码片段。

 BULK INSERT dbo.industry
 FROM C:\Users\username\Documents\Industry201603
 WITH (fieldterminator = ',', Firstrow = 1)

第一个问题:从本地机器(C:\ 驱动器)导入到 SQL 服务器的最简单方法是什么?

第二个问题:导入过程中没有指定列名和数据类型,有问题吗?

我通过右键单击然后选择编辑前 200 行并复制和粘贴来执行此操作。我无法让它发挥作用,但如此简单的事情确实如此。

我想如果您有大量数据,这可能行不通,但它确实为我完成了工作。

使用动态 SQL 并循环遍历文件。

DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=48)
BEGIN

PRINT @intFlag


declare @fullpath1 varchar(1000)
select @fullpath1 = '''\your_path_here\' + convert(varchar, getdate()- @intFlag , 112) + '_.txt'''
declare @cmd1 nvarchar(1000)
select @cmd1 = 'bulk insert [dbo].[Daily] from ' + @fullpath1 + ' with (FIELDTERMINATOR = ''\t'', FIRSTROW = 2, ROWTERMINATOR=''0x0a'')'
exec (@cmd1)

几年前,我使用这种技术进行每日数据加载,并且效果非常好。在此示例中,文件名中包含日期,因此我遍历所有文件,按日期标识每个文件。