2017-05-11 12 views
0

バルク挿入コマンドを使用してテキストファイルをSQL Server 2014にインポートします。フォーマットファイルを使用して、必要のない列をスキップします。 これはUTF8ファイルを除いてうまくいきます。一部の特殊文字(ä、ö、ü、...)は正しくインポートされていません。SQL Server 2014でFormatfileを使用してUTF8ファイルをインポートするには?

解決策this記事は機能しますが、フォーマットファイルを使用しない場合にのみ機能します。また、私はこのエラーになりFORMATFILEに「SQLNCHAR」のデータ型を変更してみました:

Msg 4863, Level 16, State 1, Line 3 
Bulk load data conversion error (truncation) for row 11, column 1 (col1). 
Msg 7399, Level 16, State 1, Line 3 
The OLE DB provider "BULK" for linked server "(null)" reported an error. The 
provider did not give any information about the error. 
Msg 7330, Level 16, State 2, Line 3 
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)". 

だから、UTF8-コードページは、フォーマットファイルと組み合わせて使用​​されていますか?

ありがとうございました!私はそれを考え出した

答えて

0

...ので、UTF8エンコードの

は、照合/エンコーディングは、一括挿入ステートメントで定義されています

WITH (CODEPAGE = '65001', DATAFILETYPE = 'Char', ...) 

形式のファイルで照合が空である必要がありますこの場合、型は "SQLCHAR"でなければなりません。例えば、私の形式のファイルの最初の行はこれです:

1 SQLNCHAR 0 50 | 1 column1 "" 

...それは他の誰かが検索の時間を避けることができます願っています
関連する問題