【发布时间】:2015-08-11 08:58:54
【问题描述】:
我正在使用 SQL 2014。
这是我当前的代码:
CREATE TABLE tmp_OKFF
(
OKCCY VARCHAR(5),
OKBRNM VARCHAR(6),
OKONPX VARCHAR(17),
OKONPM VARCHAR(17),
OKFRX VARCHAR(19),
OKFPX VARCHAR(19),
OKMRX VARCHAR(17),
OKMPX VARCHAR(17),
OKSEQ VARCHAR(3)
)
BULK INSERT tmp_OKFF
FROM 'C:\sample.CSV'
WITH (FORMATFILE='C:\sample.fmt')
这是 csv 中的示例数据:
"ABC","0001",-990039739 ,0 ,0 ,0 ,0 ,0 ,0
"ABC"," ",-3422054702 ,0 ,481385 ,0 ,0 ,0 ,0
"XXX","0001",0 ,0 ,0 ,0 ,0 ,0 ,0
"ASD"," ",0 ,0 ,0 ,0 ,0 ,0 ,0
"JED","0001",21644944 ,0 ,0 ,0 ,0 ,0 ,0
"FAQ"," ",74815363 ,0 ,0 ,11120 ,0 ,0 ,0
"PHP","0002",905175206 ,0 ,0 ,0 ,0 ,0 ,0
这是格式的确切脚本:
12.0
10
1 SQLCHAR 0 0 "\"" 0 "" ""
2 SQLCHAR 0 5 "\",\"" 1 OKCCY SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 6 "\",\"" 2 OKBRNM SQL_Latin1_General_CP1_CI_AS
4 SQLMONEY 0 19 "\",\"" 3 OKONPX SQL_Latin1_General_CP1_CI_AS
5 SQLMONEY 0 19 "\",\"" 4 OKONPM SQL_Latin1_General_CP1_CI_AS
6 SQLMONEY 0 21 "\",\"" 5 OKFRX SQL_Latin1_General_CP1_CI_AS
7 SQLMONEY 0 21 "\",\"" 6 OKFPX SQL_Latin1_General_CP1_CI_AS
8 SQLMONEY 0 19 "\",\"" 7 OKMRX SQL_Latin1_General_CP1_CI_AS
9 SQLMONEY 0 19 "\",\"" 8 OKMPX SQL_Latin1_General_CP1_CI_AS
10 SQLMONEY 0 5 "\"\r\n" 9 OKSEQ SQL_Latin1_General_CP1_CI_AS
执行这些脚本后出现错误:
Msg 4863, Level 16, State 1, Line 20
Bulk load data conversion error (truncation) for row 1, column 3 (OKBRNM).
【问题讨论】:
-
是哪一个? SQL Server 还是 MySQL?好像是 SQL Server。
-
很抱歉让您感到困惑,但它是 SQL Server 2014。谢谢!
-
没问题。请注意,我现在只有 2012 年。这就是我在回答中将 12.0 更改为 11.0 的原因。但这并不重要。在你这边切换回 12。
标签: sql csv bulkinsert sql-server-2014