oracle timestamp c# datetime,C#插入Oracle中Timestamp类型数据
在项目开发中,要求保存毫秒精度的时间,C#中DateTime类型虽然有Millsecond属性,但是插入Timestamp类型的Oracle数据列时,无法保存毫秒数据。以下是我的开发环境:操作系统:Windows开发工具:Visual Studio 2010开发语言:C#数据库:Oracle 10.2.0.4在以前的项目中也遇到过类似问题,当时是采取保存字符串的方法来解决的。具体的,在程序的实体类
在项目开发中,要求保存毫秒精度的时间,C#中DateTime类型虽然有Millsecond属性,但是插入Timestamp类型的Oracle数据列时,无法保存毫秒数据。
以下是我的开发环境:
操作系统:Windows
开发工具:Visual Studio 2010
开发语言:C#
数据库:Oracle 10.2.0.4
在以前的项目中也遇到过类似问题,当时是采取保存字符串的方法来解决的。具体的,在程序的实体类中定义字段类型为String,在数据库中定义对应列为Varchar2(),通过调用DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")语句来保存毫秒精度时间。这样做,功能可以实现,但是需要在存库和读库时进行转换,麻烦,想找到一个一劳永逸的解决办法。
和弟兄们沟通后,认为既然DataTime保存的有毫秒时间,但是保存后却丢失了,很有可能是和微软的Oracle驱动(System.Data.OracleClient)有关,可以尝试一下使用Oracle的官方驱动(Oracle.ManagedDataAccess.Client)。果然,更换驱动后,毫秒数据顺利保存,问题得到圆满解决。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)