C#與Oracle資料庫

來源:互聯網
上載者:User

標籤:c# oracle sql

一.串連Oracle資料庫

  1. 安裝用戶端: oracle資料庫搭建在遠程伺服器上,本地只需要裝個用戶端,然後在安裝目錄下(D:\app\fangs\product\12.1.0\client_3\Network\Admin ,不一定是D盤) 配置tnsnames.ora,配置可以參考同目錄下的Sample 檔案夾中的內容。就是指明串連名,遠程ip,servicename/SID。 然後可以利用sql develper工具開啟資料庫,查看資料庫中的所有內容。
  2. c#程式通過ADO.NET串連:  首先建立連接字串 : string connStr ="DATA SOURCE=***;PASSWORD=***;USER ID=**" ,以及後續的ADO.NET 操作就可以串連上資料庫了。
  3. 擷取資料:參考 MSDN MSDN ado.net

    I.       建立資料庫連接,conn.open()

    II.      建立DataAdapter,這是資料庫與DataSet對象之間的串連

    III.     聲明並建立一個DataSet對象執行個體,然後才能開始載入資料,該名稱可以包含若干獨立的表

    IV.    DataAdapter提供Fill,與FillSchema方法。

    FillSchema方法會載入一些資料表資訊,列名,約束等。

    V.      DataSet中的Tables集合內獨立的DataTable對象來提供資料

    VI.    DataTables.Row可以訪問每一行     

二 C#中的資料類型與 Oracle 資料庫欄位類型對應關係

參考此篇文章

特別注意的是oracle資料庫中 Number(10,1)這種類型的就可以用decimal  


三.sql

一 中需要進行sql的傳入,所以這裡講下sql 字串的寫法。

  1. string [email protected]"";:@:C#中特殊的字串聲明方式,叫做 “逐字字串”(verbatim strings),使用這個符號會告訴編譯器這是個逐字字串,它本身常用於寫指定檔案或目錄的路徑,因為它會通知編譯器將 ’\‘作為文本常量而不是逸出字元。在這裡使用它是因為 sql語句可能很長,他支援換行寫字串
  2. 傳參數給sql : string sql = @"nsert  into A Values(:ID_NUM) 用 :表明這是個變數,這是oracle資料庫的表達方式。其他資料庫使用其他標示方式,如sqlserver使用@。注意這裡的參數名不能使oracle資料庫的關鍵詞,否則會報錯,顯示這個參數名無效 。
  3. sql 語句加 常量:eg. where a>2 ,將2定義為 類 Constants中的一個變數 count 。就可以寫成 where a> ‘" + Constants.count + @"‘  一定要注意空格,否則可能識別不出關鍵詞 
備忘:在c#中寫sql語句時,先將sql語句放在sql developer中執行,確保sql文法沒有錯誤,再寫到程式中。像上面提到的 傳參 用 “:”標記,sql developer中都是可以檢查出來的




C#與Oracle資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.