2017-06-13 1 views
1

管理スタジオ以下のコードを実行すると、エラーが表示されます。バルクINSERTデータが挿入されていません

簡単なテキストデータをBULK INSERTを通してテーブルに挿入する必要があります。挿入するためのコードは次のとおりです。

BULK INSERT Pais FROM 'C:\[bulkdata]\shared\01-Pais.txt' 
WITH(MAXERRORS = 0, CODEPAGE = 'ACP', FIELDTERMINATOR = 'ø', ROWTERMINATOR = '\n', KEEPNULLS, 
ERRORFILE = 'C:\[bulkdata]\shared\teste.txt') 

私は、このコマンドをテストするために使用しているファイルは、データを挿入するための唯一のラインを持って、 teste.txt:

BrasilØ01058 

返されるエラー以下の通りである。

Msg 4832, Level 16, State 1, Line 1 
Bulk load: An unexpected end of file was encountered in the data file. 
Msg 7399, Level 16, State 1, Line 1 
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 1 
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)". 

teste.txt:

BrasilØ01058BrasilØ01058 

これは同じ行に値を2回挿入しようとしているようですが、設定が示すとおり、通常は他のプロジェクトに挿入されます。私のユーザーは許可なくできますか?私はすでにすべての権限を持つ特定のユーザーを作成し、サーバーに一括操作を実行する権限を設定しています。

teste.txt.Error.Txt:

Row 1 File Offset 0 ErrorFile Offset 0 - HRESULT 0x80004005 

enter image description here

+0

まず、ファイルの形式がメモ帳++などの実際のファイルとまったく同じであることを確認することです。改行や改行を探しているようです両方ともそれが得られていないラインの終わりに。 – HLGEM

+0

私はちょうど簡単なテストをしました、そして、あなたはjavascriptを使っているようです.... 'var t1 = 'ø'; var t2 = 'Ø'; – Hackerman

+0

私が言っているのは、ファイル内のフィールドターミネーターとバルクステートメントで指定されているフィールドターミネーターが同じではないということです。 – Hackerman

答えて

2

character問題のようです、あなたは§のような別のものを試すことができます。

FIELDTERMINATOR = '§' 

そして、あなたの01-Pais.txtファイル: あなたはほんの少しの微調整を行う必要があり

Brasil§01058  

更新:それはそうまた、データベースの照合やファイルのエンコーディング問題のミックス、できることbulkの操作がうんざりしています。 UTF-8の代わりにANSIという名前でファイルを保存すると、元の問題が修正されたようです。 CODEPAGE=1252またはDATAFILETYPE = 'widechar'も問題を修正しているはずです。

+0

'行1、列1(Id)の一括読み込みデータ変換エラー(指定されたコードページの型不一致または無効な文字)。 リンクサーバー "(null)"のOLE DBプロバイダ "BULK"がエラーを報告しました。プロバイダは、エラーに関する情報を一切提供しませんでした。 リンクサーバー "(null)"のOLE DBプロバイダ "BULK"から行をフェッチできません。 –

+0

C#経由でシステムに挿入するには、このエラーが発生しました。私はシードを生成するためにエンティティフレームワークを使用しています。 –

+0

私はこのすべてで本当の問題を発見しました。データが入っているファイル(私のbulkdata.txtなど)は、UTF-8ではなくANSIとして保存する必要があります。メモ帳で開き、この形式で保存して、最初の文字を使用して問題を解決してください。他の人へのあなたの応答にこれを加えてください。 –

関連する問題