SQL Server 2012 从 CSV 批量插入临时 table
SQL Server 2012 Bulk Insert from CSV into temp table
正如标题所说,我正在尝试将 CSV 文件插入临时 table。不幸的是我遇到了错误。
这里是查询:
USE DATABASE5000
CREATE TABLE #tempTable1
(
ID INT,
CD VARCHAR(50),
ESD DATETIME,
EED DATETIME,
MiscDate DATETIME,
SQ SMALLINT
)
BULK INSERT #tempTable1
FROM 'C:\Dir\Folder\BestFile.csv';
这是我得到的错误:
Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
有什么想法吗?谢谢大家。
您没有指定任何 FIELDTERMINATOR
。默认值实际上是tab
。请参考 BULK INSERT 文档。
BULK INSERT #tempTable1
FROM 'C:\Dir\Folder\BestFile.csv'
WITH
(
FIELDTERMINATOR = ',' -- add this
);
根据文档,有一个 FORMAT = CSV
WITH (FORMAT = 'CSV')
你可以试试。我做了一个快速测试,有一些限制似乎不支持带双引号的字符串
正如标题所说,我正在尝试将 CSV 文件插入临时 table。不幸的是我遇到了错误。
这里是查询:
USE DATABASE5000
CREATE TABLE #tempTable1
(
ID INT,
CD VARCHAR(50),
ESD DATETIME,
EED DATETIME,
MiscDate DATETIME,
SQ SMALLINT
)
BULK INSERT #tempTable1
FROM 'C:\Dir\Folder\BestFile.csv';
这是我得到的错误:
Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
有什么想法吗?谢谢大家。
您没有指定任何 FIELDTERMINATOR
。默认值实际上是tab
。请参考 BULK INSERT 文档。
BULK INSERT #tempTable1
FROM 'C:\Dir\Folder\BestFile.csv'
WITH
(
FIELDTERMINATOR = ',' -- add this
);
根据文档,有一个 FORMAT = CSV
WITH (FORMAT = 'CSV')
你可以试试。我做了一个快速测试,有一些限制似乎不支持带双引号的字符串