我正在尝试通过bcp命令行工具将数据导入到表中。之前我遇到的错误是正确截断的,我将两个表中的数据类型更改为nvarchar,并使用-n开关运行FMT命令,现在错误似乎已经更改,但我仍然无法导入数据。
我用来导入的命令如下:
bcp ABC.ABC.DIM_Sales_Channel in C:\temp\datafile\DIM_Sales_Channel.dat -f C:\temp\formatcorrected\DIM_Sales_Channel.fmt -T显示的错误如下:
[Microsoft][SQL Server Native Client 11.0][SQL Server]Conversion not allowed from the given field type 0x38 for field 8 to column 8.
11.0
9
1 SQLINT 0 4 "" 1 Sales_Channel_SK ""
2 SQLINT 0 4 "" 2 Sales_Channel_ID ""
3 SQLNCHAR 2 36 "" 3 Sales_Channel_Code Latin1_General_CI_AI
4 SQLNCHAR 2 36 "" 4 Sales_Channel_Level_1 Latin1_General_CI_AI
5 SQLNCHAR 2 36 "" 5 Sales_Channel_Level_2 Latin1_General_CI_AI
6 SQLDATETIME 1 8 "" 6 Inserted_Date ""
7 SQLDATETIME 1 8 "" 7 Modified_Date ""
8 SQLINT 1 4 "" 8 batchno ""
9 SQLINT 1 4 "" 9 Status ""对于字段8到第8列,不允许从给定的字段类型0x38执行MicrosoftSQL ServerConversion。
有什么线索吗?
发布于 2016-06-23 15:03:57
当您的FMT文件中的列与您的目标表/源表不匹配时,会出现此错误,因为我已经创建了一个中间临时表来正确移动我的数据,这导致了这里的问题。通过获取中间临时表的fmt文件解决了这个问题。
https://stackoverflow.com/questions/37984165
复制相似问题