我有大量的文本文件要导入SQL Server。我可以使用导入和导出向导,然后必须手动调整列名称和数据类型。
我一直在寻找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 Server的最简单方法是什么?
第二个问题:在导入过程中没有指定列名和数据类型,这是一个问题吗?
答案 0 :(得分:1)
使用动态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)
几年前我使用这种技术,每天都有数据加载,而且工作得非常好。在此示例中,文件名中包含日期,因此我循环浏览所有文件,并按日期标识每个文件。
答案 1 :(得分:0)
我通过右键单击然后选择编辑前200行并复制和粘贴来完成此操作。我无法使用它,但是这么简单。
我认为如果您拥有大量数据但它确实为我完成了这项工作,那么可能无效。