2016-06-23 11 views
0

bcpコマンドラインユーティリティを使用してテーブルにデータをインポートしようとしています。私が直面していたエラーは正しく切り捨てられていたので、両方のテーブルのデータ型をnvarcharとして変更し、-nスイッチを使用してFMTコマンドを実行したところ、エラーは変更されたように見えますが、次のようにSQLサーバのbcpコマンドでテーブルデータをインポート中にエラーが発生しました

私は、インポートに使用するコマンドは次のとおりです。

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           "" 

[Microsoft]の[SQL Serverネイティブクライアント11.0] [SQL Serverの]変換指定されたフィールドタイプ0x38からフィールド8からフィールド8には許可されません。

手がかりはありますか?

答えて

0

このエラーは、FMTファイルの列が目的のテーブル/ソーステーブルと一致しない場合、データを正しく移動するための中間ステージングテーブルを作成していて、ここで問題を引き起こしていた場合に発生します。それは私の中間ステージングテーブルのfmtファイルを取ることによって解決されました。

関連する問題