使用 Oracle.DataAcess 时应该发送什么日期格式
从使用 Microsoft Syste.Data.OracleClient 转换为我认为所谓的 Oracle ODT (Oracle.DataAccess 10.2.0.100)。当我尝试发送日期时,出现此错误“ORA-1858:在需要数字的地方发现非数字字符”。这段代码使用 System.Data.OracleClient 效果很好。
cmd.Parameters.Add(New OracleParameter("I_FIRST_LOSS_EVENT_DATE", OracleDbType.Date)).Value = .LossEventsMessages(0).LossEventTime
谢谢,
戴夫
Converting from usind Micorsofts Syste.Data.OracleClient to what I believe is called Oracles ODT (Oracle.DataAccess 10.2.0.100). When I try and send a date I get this error "ORA-1858: a non-numeric character was found where a numeric was expected". This code worked great using System.Data.OracleClient.
cmd.Parameters.Add(New OracleParameter("I_FIRST_LOSS_EVENT_DATE", OracleDbType.Date)).Value = .LossEventsMessages(0).LossEventTime
Thanks,
Dave
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据Oracle Data Provider for .NET 开发人员指南,参数的
Value
属性的数据类型应为System.DateTime
(除非您愿意使用 ODP.NET 特定类型,其中在这种情况下,它应该是OracleDate
或OracleTimeStamp
类型之一,具体取决于您的列/参数类型)。As per Table 3-10 in the Oracle Data Provider for .NET Developer's Guide, the data type of the
Value
property of the parameter should beSystem.DateTime
(unless you're willing to use an ODP.NET-specific type, in which case it should beOracleDate
or one of theOracleTimeStamp
types, depending on your column/parameter type).