1

MSSQLデータベーステーブルからOracleデータベーステーブルにデータを移動するVB.NETアプリケーションを作成しています。

MSSQLDBのレコードの日付がnullです。Oracledbテーブルの列はnullを許可するように設定されています。VB.NETアプリケーションを実行してアプリをステップ実行すると、日付がnullのレコードまですべてが正常に機能します。VB.NETは、nullの日付を「12:00AM」と表示します。日付はなく、時刻だけです。

私が受け取るOracleエラーは次のとおりです。ORA-01847:月の日は1から月の最後の日の間でなければなりません

MSSQLDBから日付を取得するSQLは次のとおりです。

convert(varchar(10),DATE_COLUMN,101) end as 'DATE_COLUMN'

OracleDBに挿入するためのPL/SQLは次のとおりです。

to_date('" & tmp_DATE_COLUMN & "','mm/dd/yyyy')

ここに画像の説明を入力してください

4

1 に答える 1

2

tmp_something_DATE変数のタイプはのようDateです。問題は、変数NULL/Nothingに値を格納できないことです。DateをNothingに割り当てようとするとDate、実際にはに割り当てられます。Date.MinValueこれは、に等しくなり#12:00:00 AM#ます。列の値を直接必要とするNullable(Of Date)か、使用します。DataTable

于 2013-02-05T15:21:07.670 に答える