0

DTSを使用してExcelファイルをSQLServer2000データベースにインポートしようとしています。これは派手なものではなく、単なるインポートです。私が働いている場所では、これを1日に1000回行います。この手順は通常問題なく機能しますが、ファイル内で何かが変更されている必要があります。

以下のエラーが発生します:

エラーのスクリーンショットhttp://www.understandingguitar.org/wp-content/uploads/2008/12/packageerror-screenshot-20081212.jpg

「AssignmentID」列が「テキスト」としてExcelシートに保存されていることを確認しました。私もそれを一般に変更しようとしました。設定に関係なく、まったく同じエラー。フィールドには数字が含まれています...これについてみんなの助けに感謝します!

よろしく、
フランク

4

3 に答える 3

0

答えは、プロシージャがテキストを予期しているという事実と関係がありますが、プロパティ(フォーマットダイアログで)を「テキスト」に設定しても、Excelはデータをテキストとして処理しない場合があります。したがって、SQL Server(またはライブラリ)はそれをテキストに処理しません。

プロシージャがそれをインポートしようとすると、システムは数値からテキストに変換していると感じ、データが失われる可能性があることを予期し(データが失われることはありませんが)、エラーが発生します。

リストされている各番号の前に'(アポストロフィ)を付けることで、このエラーを回避できることがわかった場合。[IE '124321]この力は、数字をテキストとして扱うのに優れています。

うまくいけば、これは私が今これから持っている頭痛を他の人に救うでしょう。:-)

よろしく、
フランク

于 2008-12-22T17:04:17.147 に答える
0

明らかかもしれませんが、宛先文字列はフロートの文字列表現を保持するのに十分な長さですか?Excelが表示内容を四捨五入しているかどうかはわかりません。そのため、より広い列で試す価値があるかもしれません。

于 2008-12-12T22:38:56.503 に答える
0

Excel ファイルを開いて、列の内容を確認してください。
その列の行の値のいずれかが右揃えですか? (一般的に数字の場合)?

そのような行が問題になる可能性があると推測しています。

于 2008-12-12T20:56:50.763 に答える