2

テキスト ファイルのデータをデータベースのテーブルにロードできず、永続的なエラーが発生しました

時刻形式が無効です。

時刻の形式を変更して、日付と時刻の間に T を含めましたが、役に立ちませんでした。から年、月、日の区切り文字も置き換えました。に-しかし、エラーは持続しました。

これは、txtファイルからロードしようとしている方法です

bcp mydb.dbo.mytable in c:\data.txt -T -S myserver\instance

次に、フィールドのデータ型、プレフィックス長 (これはフィールドの前の区切り文字の長さです... ですよね?)、およびフィールド ターミネータの確認に進みます。使用しても同じエラーが発生するフォーマットファイルを作成します。インポートしている日時フィールドは、典型的な行にある 4 つの他のフィールドの 1 つです。

私は何が欠けていますか?

編集

これが典型的な行です

14,1999-01-04T08:08:24.000,1.36000,1.36000

また、SSIS を使用したときにも失敗しました。最初にアクセスを使用するという以前の回避策は、ここでは適用できません。bcpまたはSSISのいずれかです

4

1 に答える 1

0

私はあなたが使用していると思いますSQL Server 2008 (R2)か?その場合は、質問に適切なタグを追加してください。

この問題は、ここdba.stackexchangeで報告されています。

次のヒントが与えられました。

  • 生成されたフォーマット ファイルを使用-fし、インポートとエクスポートの両方に使用する必要があります。
  • 日時が のようにフォーマットされていることを確認してください。したがって、日付と時刻の間のyyyy-mm-dd hh:mm:ss代わりにスペースを使用してくださいT

ここでBCP、これがに付属するバグであるという主張を読んだことに注意してくださいSQL Server 2008 (R2)。どうやらこれはSQL Server 2012+で解決されました。

于 2016-01-10T06:40:25.357 に答える