如何在不使用导入和导出向导的情况下将数据导入 SQL 服务器
How to import data into SQL Server without using import and export wizard
我有大量文本文件要导入 SQL 服务器。我可以使用导入和导出向导,然后必须手动调整列名和数据类型。
我一直在寻找一些给出的选项 bcp
和 Bulk 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)
几年前,我使用这种技术进行每日数据加载,并且效果非常好。在此示例中,文件名中包含日期,因此我遍历所有文件,按日期标识每个文件。
我有大量文本文件要导入 SQL 服务器。我可以使用导入和导出向导,然后必须手动调整列名和数据类型。
我一直在寻找一些给出的选项 bcp
和 Bulk 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)
几年前,我使用这种技术进行每日数据加载,并且效果非常好。在此示例中,文件名中包含日期,因此我遍历所有文件,按日期标识每个文件。