0

列ヘッダーを含む csv ファイルをインポートしています。

 ID     ProductNumber     ProductName
 1234    A298384          Whatchamacallit
 3949    A293939          Whatchamacallit_Extra

ID と ProductNumber のみが必要です。ファイルをマップするときは、ProductName を「無視」に設定します。

パッケージを実行すると、ProductName が切り捨てられるというメッセージでエラーが発生します。マッピングを「無視」に設定するとエラーになる理由がわかりません

また、インポートを試みて ProductName を含め、フィールドを Nvarchar (4000) に設定しましたが、それでもエラーになります。ファイルを確認しましたが、54文字を超える製品名はありません。

SQL 2005 を使用しています。

どんな洞察も役に立ちます

ありがとう。

4

3 に答える 3

0

データフローのソース接続として、ある種の「フラットファイルソース」があると思います。もしそうなら、それをクリックして列を表示すると、製品名はチェックされていませんか?

于 2012-08-17T05:23:31.307 に答える
0

これを修正する別の方法は、フラット ファイル接続マネージャーの [詳細設定] セクションに移動し、最後のフィールドのフィールド長を、オーバーライドしない場合に文字列値に設定されている既定の 50 よりも大きい値に設定することです。54 がその最後の列の最長のデータ幅であると言うので、少なくともその値を使用します。

これを変更する場所を見つけるには、フラット ファイル接続をダブルクリックして接続マネージャー エディターを開きます。左側のボックスには、「一般」、「列」、「詳細」、「プレビュー」の 4 つの選択肢があります。[詳細設定] をクリックし、[ProductName] 列を強調表示してから、右側のボックスで [OutputColumnWidth] を見つけて、少なくとも 54 に設定します。

于 2012-08-17T13:33:38.727 に答える
0

3 番目の列をインポートしたくない場合は、最後の行を削除advanced tabします。connection manager

別の方法は、フラット ファイル タスクで発生するエラーを無視することerror output tabです (切り捨てと失敗を無視します) が、上で書いたものを使用することをお勧めします。

于 2012-08-17T12:22:31.643 に答える