Sql server 源和目标之间可能存在可疑的数据类型冲突
长版本: 对导致问题的实际数据集文件使用binarysearch调试方法(例如,使用前一半数据,查看发生了什么,一半数据,重试,等等)能够避免“BCP copy failed”(BCP copy failed)错误,但随后看到(即使没有抛出失败消息,也复制了0行)(所以我真的不知道为什么“BCP复制失败”错误不再弹出))。将Sql server 源和目标之间可能存在可疑的数据类型冲突,sql-server,bcp,Sql Server,Bcp,长版本: 对导致问题的实际数据集文件使用binarysearch调试方法(例如,使用前一半数据,查看发生了什么,一半数据,重试,等等)能够避免“BCP copy failed”(BCP copy failed)错误,但随后看到(即使没有抛出失败消息,也复制了0行)(所以我真的不知道为什么“BCP复制失败”错误不再弹出))。将-e选项添加到最小示例以获取BCP复制尝试的错误日志(例如-e filename.bcperor.log),看到了错误 #@第1行,第150列:日期时间字段溢出。小数秒精度超
-e
选项添加到最小示例以获取BCP复制尝试的错误日志(例如-e filename.bcperor.log
),看到了错误
#@第1行,第150列:日期时间字段溢出。小数秒精度超过参数绑定中指定的刻度@#
在生成的错误文件的每一行的顶部(第150列是一行中的最后一列,例如2018-08-29 11:34:14
)
查看MSSQL Server中BCP试图复制到的表,我注意到(与BCP成功写入的表不同),最后一个字段(第150列)在我的例子中,设置为
smalldate
类型,而其他表使用datetime
。将此字段也更改为datetime
,BCP能够将有问题的TSV复制到表中而不会出现问题。也许最好减少到脚本失败的部分(参见咒语中的最小值)@TT Point taked,将随结果更新。@TT.添加了MVE(保留了一些额外的步骤,因为我认为它们可能需要通过BCP实用程序正确处理任何TSV)。
[me@mapr001 src]$ time ./hdfs2mssql.pq.sh mytable
Truncating destination table: mydb/mytable
-----------
0
(1 rows affected)
-----------
0
(1 rows affected)
Connecting with BCP utility as myuser...
Importing /mapr/my.cluster.local//etl/path/to/MYTABLE/tsv/0_0_0.tsv data to mydb/mytable
Removing header from TSV file /mapr/uceramapr.cluster.local//etl/path/to/MYTABLE/tsv/0_0_0.tsv
Replacing null literal values with empty chars
Starting BCP export threads for /mapr/uceramapr.cluster.local//etl/path/to/MYTABLE/tsv/0_0_0.tsv
Starting copy...
BCP copy in failed
All export tasks collected and completed
real 0m2.182s
user 0m0.826s
sys 0m0.624s
Column_name Type Computed Length Prec Scale Nullable TrimTrailingBlanks FixedLenNullInSource Collation
PROC_ID float no 8 53 NULL yes (n/a) (n/a) NULL
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx float no 8 53 NULL yes (n/a) (n/a) NULL
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx smalldatetime no 4 yes (n/a) (n/a) NULL
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx nvarchar no 510 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
xxxx smalldatetime no 4 yes (n/a) (n/a) NULL
272647 KXXXX,XXXXSR TRNS>10KILO 31999999 19999 57 Y 2 9/1/17 XXX,NO VOL X XXX (XXX XXX XXXX) Y 999 1999 2999 999 3 1 1 Y 2012-05-31 17:41:00 1 KXX,PRXXXX T 999 XXXT,PRXXXX TXXX>10KILO 2018-08-21 14:04:57
272647^IKXXXX,XXXXSR TRNS>10KILO^I31999999^I^I^I^I^I^I^I^I^I^I19999^I^I^I^I57^I^I^I^IY^I2^I9/1/17 XXX,NO VOL X XXX (XXX XXX XXXX)^I^I^I^IY^I999^I^I^I^I^I^I^I^I^I^I^I^I1999^I2999^I^I^I^I^I^I^I999^I^I^I3^I^I^I^I^I^I1^I1^I^I^I^I^I^I^IY^I^I^I^I2012-05-31 17:41:00^I^I^I1^IKXX,PRXXXX T^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I999^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^IXXXT,PRXXXX TXXX>10KILO^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I^I2018-08-21 14:04:57