正如标题所述,我正在尝试将CSV插入临时表中。我很不幸遇到错误。
以下是查询:
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';
这是我得到的错误:
4832,第16级,状态1,第1行
批量加载:数据文件中遇到意外的文件结尾。消息7399,第16级,状态1,第1行
链接服务器“(null)”的OLE DB提供程序“ BULK”报告了一个错误。提供者未提供有关该错误的任何信息。MSG 7330,第16级,状态2,第1行
无法从OLE DB提供程序“ BULK”获取链接服务器“(空)”的行。
有什么想法吗?谢谢你们。
答案 0 :(得分:2)
您未指定任何FIELDTERMINATOR
。缺省值实际上是tab
。请参阅BULK INSERT文档。
BULK INSERT #tempTable1
FROM 'C:\Dir\Folder\BestFile.csv'
WITH
(
FIELDTERMINATOR = ',' -- add this
);
根据文档,有一个FORMAT = CSV
WITH (FORMAT = 'CSV')
您可以尝试一下。我做了一个快速测试,似乎有一些限制,好像它不支持双引号的字符串