想要从txt文件批量导入SQL Server 2012中的临时表

时间:2016-11-08 12:29:04

标签: sql-server bulkinsert

我一直收到这个错误:

  

在行处解析错误:1,列:1:'BULK'附近的语法不正确。

以下是我的文字。我现在正在使用具有正确格式的两行的测试文件,以便将其排除为导致问题。

create table #tabled1
(
    vehicleid bigint,
    speed decimal(9,6),
    latitude decimal(9,6),
    longitude decimal(9,6),
    direction smallint,
    gpsquality tinyint
)
GO

BULK INSERT #tabled1
   FROM 'C:\Users\michael.mccarthy\documents\test.txt'
   WITH (
      FIELDTERMINATOR = '/t',
      rowtERMINATOR = '/n',
      KEEPNULLS
   );
GO

2 个答案:

答案 0 :(得分:1)

user2772056- 尽管您很可能早就解决了这个问题,但是您使用了不正确的斜杠。分隔符和行终止符应使用反斜杠“ \”,而不是正斜杠“ /”。试试这个-

WITH (
    FIELDTERMINATOR = '\t',
    rowtERMINATOR = '\n',
    KEEPNULLS
);

答案 1 :(得分:0)

使用此查询。

DECLARE @Query varchar(1000)
SET @Query ='BULK INSERT #tabled1  FROM "C:\Users\michael.mccarthy\documents\test.txt"
        WITH(   
                FIELDTERMINATOR = ''\t'',
                ROWTERMINATOR = ''\n''
            )'
EXEC (@Query)
SELECT * FROM #tabled1