BULK INSERT到SQL Server - 使用FIELDTERMINATOR

问题描述 投票:0回答:2

我有这个问题:

BULK INSERT Employee
FROM 'E:\\file.txt' --location with filename
WITH
(
   FIELDTERMINATOR = ' ',
   ROWTERMINATOR = '\n'
)
GO

在我的文件中,数据如下所示:

43266200 6827           43295200 1393/05/23 14:26:26     18      1

我想将此数据插入到我的表中,但是在我的fieldterminator中的文件中有错误,并且SQL Server抱怨字段之间的空格或制表符错误。我怎么解决这个问题? 我能用这个吗?

BULK INSERT Employee
    FROM 'E:\\file.txt' --location with filename
    WITH
    (
       FIELDTERMINATOR = ' ' or '  ' or '        ',
       ROWTERMINATOR = '\n'
    )
    GO

或者如何将此txt文件导入sql server?

sql-server sql-server-2008
2个回答
1
投票

如果数据文件中的字段之间有选项卡,请使用以下命令:

BULK INSERT Employee
FROM 'E:\\file.txt' --location with filename
WITH
(
   FIELDTERMINATOR = '\t',
   ROWTERMINATOR = '\n'
)
GO

\t表示一个选项卡 - 应该告诉SQL Server将选项卡解释为两个字段之间的分隔符。


0
投票

码:

BULK INSERT #ProspectiveFile
                  FROM ''C:\Matt\' + @DataFileName + '.txt''
                  WITH (ROWTERMINATOR = ''\n''
                       ,FIELDTERMINATOR = ''    '')
© www.soinside.com 2019 - 2024. All rights reserved.