欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#連接Oracle數(shù)據(jù)庫的多種方法總結(jié)

 更新時間:2023年04月21日 10:51:35   作者:^@^lemon?tea^@^  
最近小項目當(dāng)中要使用C#來連接Oracle數(shù)據(jù)庫來完成系統(tǒng)的操作,這篇文章主要給大家介紹了關(guān)于C#連接Oracle數(shù)據(jù)庫的多種方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

C# 連接oracle數(shù)據(jù)庫常用的三種方法有三種:

一、Oracle.ManagedDataAccess.dll:Oracle官方提供的oracle數(shù)據(jù)庫訪問組件,不存在其他依賴dll庫,推薦該方法最為重要的是:不需要安裝oracle客戶端,也不區(qū)分x86位和x64位直接就能用,連上其他電腦或者服務(wù)端oracle數(shù)據(jù)庫。

二、Oracle.DataAccess.Client.dll:也叫ODP.net,是Oracle提供的數(shù)據(jù)庫訪問dll庫。好處是:不需要安裝客戶端也能訪問服務(wù)器上的oracle,不需要配置tnsNames.Ora文件,但是區(qū)分x86位和x64,也比較麻煩。

三、System.Data.OracleClient.dll:是微軟提供的dll,可以直接引用,但是VS會提示相關(guān)方法已過時,這個提示表明微軟建議不使用。該方法需要安裝客戶端才可以用,并且也是區(qū)分區(qū)分x86位和x64,容易出現(xiàn)兼容問題。

綜上所述介紹,我這里推薦第一種方法,下面就以方法一為實例講解Oracle數(shù)據(jù)庫連接和獲取數(shù)據(jù)。

**************************************************************************************************************   

Oracle.ManagedDataAccess.Client.dll

環(huán)境要求  >= .NET Framework4.0;

編譯器使用的是VS2019,在項目中添加Oracle.ManagedDataAccess.Client.dll文件,方法步驟如下:工具 ---- NuGet包管理器  ---- 管理解決方案NuGet程序包 ---- 瀏覽面板 ---- 在搜索欄中輸入Oracle.ManagedDataAccess.Client ---- 搜索 ---- 在顯示庫文件中選擇插件下載即可,搜索顯示結(jié)果圖下圖所示。我這里由于項目.NET 的要求,下載的版本是19.xx.xx版本的。

下載完成插件,VS會自動安裝,然后把庫添加至引用。

**************************************************************************************************************      數(shù)據(jù)庫連接實現(xiàn),首先添加using Oracle.ManagedDataAccess.Client;命名空間,這里就簡單的實現(xiàn)數(shù)據(jù)庫連接和獲取數(shù)據(jù),具體代碼如下:

//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();
		//設(shè)置Table名和Column名
		oracleDataTb.TableName = "AerospaceCenterHis";
		for (int j = 0; j < dReader.FieldCount; j++)
		{
			oracleDataTb.Columns.Add(dReader.GetName(j));//獲取列名
		}
		//循環(huán)取數(shù)據(jù)集合中的數(shù)據(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)
	{
		
	}
}

************************************************************************************************************** 

這里要注意的是:連接到服務(wù)端上的Oracle數(shù)據(jù)庫時,需要把配置文件修改了,使其能夠進行局域網(wǎng)或者遠程的訪問,還要把端口開放。

在Oracle數(shù)據(jù)庫安裝路徑,當(dāng)然每臺安裝oracle數(shù)據(jù)庫的地址都是不同的(例如: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(服務(wù)器IP地址)重新啟動服務(wù)。

到此這篇關(guān)于C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持。

************************************************************************************************************** 

總結(jié)

到此這篇關(guān)于C#連接Oracle數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)C#連接Oracle數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#通過第三方組件生成二維碼(QR Code)和條形碼(Bar Code)

    C#通過第三方組件生成二維碼(QR Code)和條形碼(Bar Code)

    用C#如何生成二維碼,我們可以通過現(xiàn)有的第三方dll直接來實現(xiàn),下面列出幾種不同的生成方法
    2016-12-12
  • Unity3D啟動外部程序并傳遞參數(shù)的實現(xiàn)

    Unity3D啟動外部程序并傳遞參數(shù)的實現(xiàn)

    這篇文章主要介紹了Unity3D啟動外部程序并傳遞參數(shù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C#多線程之線程綁定ThreadLocal類

    C#多線程之線程綁定ThreadLocal類

    這篇文章介紹了C#多線程之線程綁定ThreadLocal類的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 使用C#調(diào)用系統(tǒng)API實現(xiàn)內(nèi)存注入的代碼

    使用C#調(diào)用系統(tǒng)API實現(xiàn)內(nèi)存注入的代碼

    使用C#調(diào)用系統(tǒng)API實現(xiàn)內(nèi)存注入的代碼,學(xué)習(xí)c#的朋友可以參考下。
    2011-06-06
  • c#實現(xiàn)用SQL池,多線程定時批量執(zhí)行SQL語句的方法

    c#實現(xiàn)用SQL池,多線程定時批量執(zhí)行SQL語句的方法

    構(gòu)建SQL池,分離業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,讓業(yè)務(wù)邏輯層從低效的數(shù)據(jù)庫操作解脫,以提高系統(tǒng)整體性能
    2013-10-10
  • c#委托詳解和和示例分享

    c#委托詳解和和示例分享

    這篇文章詳細(xì)探討了C#中的委托,列舉其主要的實現(xiàn)方式,并分析其在設(shè)計層面和編碼層面帶來的好處,最后會討論其安全性和執(zhí)行效率等,當(dāng)然還有實現(xiàn)示例
    2014-03-03
  • 利用C#實現(xiàn)HTML模板的循環(huán)輸出

    利用C#實現(xiàn)HTML模板的循環(huán)輸出

    模板循環(huán)輸出 ,是指使用 UI 前端設(shè)計的 HTML 模板片斷,并結(jié)合數(shù)據(jù)記錄進行循環(huán)輸出的過程,本文將介紹如何中通過 C# 實現(xiàn)操作 HTML 模板的循環(huán)輸出,文章通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Unity實現(xiàn)局域網(wǎng)聊天室功能

    Unity實現(xiàn)局域網(wǎng)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Unity實現(xiàn)局域網(wǎng)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C#中基于流的XML文件操作筆記

    C#中基于流的XML文件操作筆記

    這篇文章主要介紹了C#中基于流的XML文件操作筆記,本文主要是講解針對XmlReader和XmlWriters兩個XML讀寫類的使用,需要的朋友可以參考下
    2015-06-06
  • c# Linq常用的小技巧

    c# Linq常用的小技巧

    這篇文章主要介紹了c# Linq常用的小技巧,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評論