C#插入Oracle中Timestamp类型数据
在项目开发中,要求保存毫秒精度的时间,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)。果然,更换驱动后,毫秒数据顺利保存,问题得到圆满解决。
相关推荐
lklong 2020-11-22
oraclemch 2020-11-06
shilukun 2020-10-10
周嘉笙 2020-11-09
iilegend 2020-10-19
EricRay 2020-10-16
zhuzhufxz 2020-09-16
dataminer 2020-08-17
bfcady 2020-08-16
Hody 2020-08-16
FightFourEggs 2020-08-16
数据库设计 2020-08-16
Seandba 2020-08-16
Omega 2020-08-16
zjyzz 2020-08-16
yanghuatong 2020-08-16
ktyl000 2020-08-16
dbasunny 2020-08-16