我正在编写一个VB.NET应用程序,它将数据从MS数据库表移动到Oracle数据库表。
MS SQL DB中的记录的日期为空。Oracle db表列设置为允许空值。当我运行VB.NET应用程序并逐步执行该应用程序时,一切正常,直到记录的日期为空。VB.NET将空日期显示为'12:00 AM‘,没有日期,只有时间。
我得到的Oracle错误是: ORA-01847:每月的日期必须介于1和最后一天之间
下面是从MS SQL DB中拉入日期的SQL:
convert(varchar(10),DATE_COLUMN,101) end as 'DATE_COLUMN'下面是我用于插入到Oracle DB中的PL/SQL:
to_date('" & tmp_DATE_COLUMN & "','mm/dd/yyyy')

发布于 2013-02-05 23:21:08
看起来您的tmp_something_DATE变量的类型是Date。问题是它不能在Date变量中存储NULL/Nothing值。如果您尝试将Date赋值为Nothing,那么它实际上被赋值给Date.MinValue,它等于#12:00:00 AM#。您要么需要Nullable(Of Date),要么直接使用DataTable列值。
https://stackoverflow.com/questions/14710653
复制相似问题