您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“C#連接Oracle數據庫的方法有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C#連接Oracle數據庫的方法有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
一、Oracle.ManagedDataAccess.dll:Oracle官方提供的oracle數據庫訪問組件,不存在其他依賴dll庫,推薦該方法最為重要的是:它不需要安裝oracle客戶端,也不區分x86位和x64位,直接就能用,連上其他電腦或者服務端oracle數據庫。
二、Oracle.DataAccess.Client.dll:也叫ODP.net,是Oracle提供的數據庫訪問dll庫。好處是:不需要安裝客戶端也能訪問服務器上的oracle,不需要配置tnsNames.Ora文件,但是區分x86位和x64,也比較麻煩。
三、System.Data.OracleClient.dll:是微軟提供的dll,可以直接引用,但是VS會提示相關方法已過時,這個提示表明微軟建議不使用。該方法需要安裝客戶端才可以用,并且也是區分區分x86位和x64,容易出現兼容問題。
綜上所述介紹,我這里推薦第一種方法,下面就以方法一為實例講解Oracle數據庫連接和獲取數據。
環境要求 >= .NET Framework4.0;
編譯器使用的是VS2019,在項目中添加Oracle.ManagedDataAccess.Client.dll文件,方法步驟如下:工具 ---- NuGet包管理器 ---- 管理解決方案NuGet程序包 ---- 瀏覽面板 ---- 在搜索欄中輸入Oracle.ManagedDataAccess.Client ---- 搜索 ---- 在顯示庫文件中選擇插件下載即可,搜索顯示結果圖下圖所示。我這里由于項目.NET 的要求,下載的版本是19.xx.xx版本的。
下載完成插件,VS會自動安裝,然后把庫添加至引用。
數據庫連接實現,首先添加using Oracle.ManagedDataAccess.Client;命名空間,這里就簡單的實現數據庫連接和獲取數據,具體代碼如下:
//DataTableName:視圖/表名稱;checkNum:查詢條件 public DataTable GetOracleData(string DataTableName, string checkNum) { try { string SqlConnStr = "Password=*****;User ID=sys;Connection Lifetime=15;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=102.16.1.113)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));"; OracleConnection conn = new OracleConnection(SqlConnStr); string sqlStr = string.Format(@"SELECT * from ""{0}"" WHERE ""CheckupCode""='{1}'", DataTableName, checkNum); conn.Open(); OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; cmd.CommandText = sqlStr; cmd.CommandType = CommandType.Text; OracleDataReader dReader = cmd.ExecuteReader(); string dataStr = string.Empty; DataRow dataRow; DataTable oracleDataTb = new DataTable(); //設置Table名和Column名 oracleDataTb.TableName = "AerospaceCenterHis"; for (int j = 0; j < dReader.FieldCount; j++) { oracleDataTb.Columns.Add(dReader.GetName(j));//獲取列名 } //循環取數據集合中的數據,存到DataTable中 do { while (dReader.Read()) { dataRow = oracleDataTb.NewRow(); for (int j = 0; j < dReader.FieldCount; j++) { dataStr = dReader[j].ToString(); dataRow[j] = dataStr; } oracleDataTb.Rows.Add(dataRow); } } while (dReader.NextResult()); return oracleDataTb; } catch (Exception ex) { } }
這里要注意的是:連接到服務端上的Oracle數據庫時,需要把配置文件修改了,使其能夠進行局域網或者遠程的訪問,還要把端口開放。
在Oracle數據庫安裝路徑,當然每臺安裝oracle數據庫的地址都是不同的(例如:C:\Oracle11g\product\11.2.0\dbhome_1\network\admin\listener.ora tnsnames.ora)中找到文件listener.ora和tnsnames.ora文件,把兩個文件中HOST = localhost配置改成HOST=192.186.11.1(服務器IP地址)重新啟動服務。
讀到這里,這篇“C#連接Oracle數據庫的方法有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。