0

固定長のデータを含むテキストファイルがあります。これが私のテーブルです:

create table myBulkInsert(
MaxData Varchar(Max)
)

x.fmtに含まれるもの:

10.0
1
1       SQLCHAR             8       0       ""   1     MaxData                SQL_Latin1_General_CP1_CI_AS

私が以下を発行するとき:

bulk insert myBulkInsert
from 'C:\inetpub\ftproot\TextFile.txt'
WITH (
    FORMATFILE = 'C:\inetpub\ftproot\Client.fmt'
);

私は得る:

メッセージ4866、レベル16、状態17、行1バルクロードが失敗しました。行1、列1のデータファイルの列が長すぎます。フィールドターミネータと行ターミネータが正しく指定されていることを確認してください。メッセージ7399、レベル16、状態1、行1リンクサーバー "(null)"のOLEDBプロバイダー"BULK"がエラーを報告しました。プロバイダーはエラーに関する情報を提供しませんでした。メッセージ7330、レベル16、状態2、行1リンクサーバー "(null)"のOLEDBプロバイダー"BULK"から行をフェッチできません。

奇妙なことに、カンマ区切りのテキストファイルで一括挿入を使用していて、うまく機能するので、アクセス許可エラーではないと思います。

最大値を持つ1つのフィールドとしてそれを持っている理由は、例を単純化するためです。この1つのフィールドが機能するようになったらすぐに、すべてのフィールドとその長さを含むようにレイアウトを変更します。

4

0 に答える 0