C#插入Oracle中Timestamp類型資料

來源:互聯網
上載者:User

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)。果然,更換驅動後,毫秒資料順利儲存,問題得到圓滿解決。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.