1

日付形式に属する列がいくつかある1つのフラットファイルをソースとして使用しており、すべてのデータを事前定義されたSQLServerテーブルに配置しました。

例:-

フラットファイル

CaseNO | CaseType | CDate
1 | ORG | 1 \ 12 \ 2012
2 | PGD | 3 \ 3 \ 2011

ここでデータビューアで確認すると、2012-12-1 00:00:00.0000000のように見えます。ただし、OLEDB接続では次のエラーが発生します。

[OLE DB Destination [7546]] Error: There was an error with input column 
"CDate" (8799) on input "OLE DB Destination Input" (7559). The column status
returned was: "The value could not be converted because of a potential loss of data.".

私を導いてください...あなたの助けに感謝します。

343

4

2 に答える 2

0

これは、バックスラッシュが原因である可能性があります。キャストする前に「\」を「/」に置き換えてみてください。

これは、日付形式の問題である可能性もあります。照合などの設定によっては、「2012 年 1 月 2 日」が 1 月 2 日または 2 月 1 日と解釈される可能性があります。これは問題にはなりませんが、「2012 年 1 月 31 日」のようなものは間違った型変換エラーを引き起こす可能性があります。月31がないので照合。

于 2012-10-19T17:49:13.880 に答える
0

SQL Server テーブルにデータを既にステージングしたようです。OLEDB ソースでテーブルを選択する代わりに、SQL コマンドを使用します。次のようにクエリを記述し、宛先にマップします。

SELECT Id,CaseType,convert(datetime,CDATE,101) as Cdate from

フラットファイルを使用してターゲットテーブルに直接ロードする場合。派生列変換を使用して解析し、format[dd/mm/yyyy] に言及して datatime に変換する必要があります。

ありがとう、ゴーダマン

于 2012-10-24T11:15:20.693 に答える