文章目錄
Dapper 讀取 Oracle 資料 - 更新版 (使用 Oracle.ManagedDataAccess)
之前筆記 Dapper 讀取 Oracle 資料 提到使用 x64 版本的 oracle client - Oracle.ManagedDataAccess 無法成功連線,這句話是錯誤的,一來 Oracle.ManagedDataAccess
本身是 32位元,另外就是 Oracle.ManagedDataAccess
絕對可以正常連線 oracle 讀寫資料
就來看看如何使用 Oracle.ManagedDataAccess
搭配 dapper
連線 oracle 吧
安裝 Oracle.ManagedDataAccess
使用 NuGet 搜尋並安裝
安裝 dapper
使用 NuGet 搜尋並安裝
程式碼
//oracle 連線字串
string cnstr = "Data source=localhost;User id=TestIdentity;Password=password;";
//dapper 建立連線物件
using (var cn = new Oracle.ManagedDataAccess.Client.OracleConnection(cnstr))
{
//開啟連線
cn.Open();
//執行查詢
var result = cn.Query<string>(@"select name from menu where isdelete=:isdelete", new {isdelete=0});
//將結果印出
result.Dump();
}
心得
與之前使用 Oracle.DataAccess.Client
最大的差別只在建立連線時使用的 namespace 的不同,當然背後隱藏了很多細節:(以下參考黑大說明 - Managed ODP.NET簡介)
- 可以直接使用 Oracle.ManagedDataAccess ,無需安裝 Oracle Client
- Oracle.ManagedDataAccess 不必區分 32位元及 64位元
現在回想之前筆記時,已經忘記為什麼當時內容錯誤原因,當然不懂是主因但畢竟在真正紀錄時我都會再做過測試,確認結果才做筆記,當時內容有問題也代表測試也出錯,但現在完全沒有印象當時出了什麼差錯,不過也多虧這次經驗讓我更覺得該好好做筆記,至少有印象曾經寫錯還能好好檢視當時錯誤原因並改進,不是一直帶著錯誤的觀念持續錯下去
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-03
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。