最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

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

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

Oracle.ManagedDataAccess.Client.dll

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

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

下載完成插件,VS會(huì)自動(dòng)安裝,然后把庫(kù)添加至引用。

**************************************************************************************************************      數(shù)據(jù)庫(kù)連接實(shí)現(xiàn),首先添加using Oracle.ManagedDataAccess.Client;命名空間,這里就簡(jiǎn)單的實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接和獲取數(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ù)庫(kù)時(shí),需要把配置文件修改了,使其能夠進(jìn)行局域網(wǎng)或者遠(yuǎn)程的訪問(wèn),還要把端口開放。

在Oracle數(shù)據(jù)庫(kù)安裝路徑,當(dāng)然每臺(tái)安裝oracle數(shù)據(jù)庫(kù)的地址都是不同的(例如:C:\Oracle11g\product\11.2.0\dbhome_1\network\admin\listener.ora   tnsnames.ora)中找到文件listener.ora和tnsnames.ora文件,把兩個(gè)文件中HOST = localhost配置改成HOST=192.186.11.1(服務(wù)器IP地址)重新啟動(dòng)服務(wù)。

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

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

總結(jié)

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

相關(guān)文章

  • vs代碼段快捷鍵設(shè)置(圖文)

    vs代碼段快捷鍵設(shè)置(圖文)

    學(xué)習(xí)代碼快捷鍵是程序員必學(xué)知識(shí)點(diǎn),會(huì)使用代碼快捷在程序開發(fā)過(guò)程中會(huì)提高開發(fā)效率,下面小編給大家整理些有關(guān)vs代碼段快捷鍵設(shè)置的技巧,需要的朋友可以參考下
    2015-08-08
  • C#中實(shí)現(xiàn)一次執(zhí)行多條帶GO的sql語(yǔ)句實(shí)例

    C#中實(shí)現(xiàn)一次執(zhí)行多條帶GO的sql語(yǔ)句實(shí)例

    這篇文章主要介紹了C#中實(shí)現(xiàn)一次執(zhí)行多條帶GO的sql語(yǔ)句,以實(shí)例形式較為詳細(xì)的分析了C#執(zhí)行sql語(yǔ)句的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C#獲取兩個(gè)時(shí)間的時(shí)間差并去除周末(取工作日)的方法

    C#獲取兩個(gè)時(shí)間的時(shí)間差并去除周末(取工作日)的方法

    這篇文章主要介紹了C#獲取兩個(gè)時(shí)間的時(shí)間差并去除周末(取工作日)的方法,可有效的實(shí)現(xiàn)獲取工作日的功能,涉及C#時(shí)間操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C# 調(diào)用C++寫的dll的實(shí)現(xiàn)方法

    C# 調(diào)用C++寫的dll的實(shí)現(xiàn)方法

    C#調(diào)用C++的非托管類的dll其實(shí)很簡(jiǎn)單基本就是固定的調(diào)用格式,有需要的朋友可以參考一下
    2013-10-10
  • C#拷貝整個(gè)文件夾及子目錄和其中文件的方法

    C#拷貝整個(gè)文件夾及子目錄和其中文件的方法

    這篇文章主要介紹了C#拷貝整個(gè)文件夾以及子目錄和其中文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • c# Winform同一數(shù)據(jù)源多個(gè)控件保持同步

    c# Winform同一數(shù)據(jù)源多個(gè)控件保持同步

    通過(guò)對(duì)控件屬性設(shè)置數(shù)據(jù)源綁定,利用Windows數(shù)據(jù)更改通知這一特性,只要訂閱(設(shè)定綁定)的控件都能接收到數(shù)據(jù)的變化通知。 通過(guò)DataBindings方法實(shí)現(xiàn)雙向數(shù)據(jù)綁定
    2021-06-06
  • C#?WinForm實(shí)現(xiàn)檢查目標(biāo)IP端口是否可連接

    C#?WinForm實(shí)現(xiàn)檢查目標(biāo)IP端口是否可連接

    這篇文章主要為大家詳細(xì)介紹了如何基于C#?WinForm實(shí)現(xiàn)檢查目標(biāo)IP端口是否可連接的小工具,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • c# 實(shí)現(xiàn)模糊PID控制算法

    c# 實(shí)現(xiàn)模糊PID控制算法

    這篇文章主要介紹了c# 實(shí)現(xiàn)模糊PID控制算法的示例代碼,幫助大家更好的理解和使用c#編程語(yǔ)言,感興趣的朋友可以了解下
    2020-12-12
  • C#生成注冊(cè)碼的實(shí)例代碼

    C#生成注冊(cè)碼的實(shí)例代碼

    C#生成注冊(cè)碼的實(shí)例代碼,下面是一個(gè)小例子,需要的朋友可以參考一下
    2013-03-03
  • WinForm中異步TCP通信的正確打開方式

    WinForm中異步TCP通信的正確打開方式

    軟件開發(fā)中,網(wǎng)絡(luò)通信是實(shí)現(xiàn)分布式系統(tǒng)、遠(yuǎn)程控制和實(shí)時(shí)數(shù)據(jù)交換的核心技術(shù)之一,TCP 作為傳輸層中最常用的協(xié)議,以其面向連接、可靠傳輸、字節(jié)流通信的特點(diǎn),本文將結(jié)合一個(gè)完整的WinForm 應(yīng)用程序?qū)嵗?給大家介紹WinForm中異步TCP通信的正確打開方式
    2025-08-08

最新評(píng)論

茶陵县| 沧源| 大理市| 米易县| 淮北市| 奎屯市| 广丰县| 响水县| 安吉县| 大田县| 穆棱市| 福安市| 宣武区| 天台县| 响水县| 同江市| 黎川县| 溧水县| 宁安市| 门源| 克拉玛依市| 曲周县| 陇川县| 永春县| 搜索| 林芝县| 宜昌市| 墨江| 郑州市| 陕西省| 靖西县| 仪征市| 比如县| 应用必备| 东安县| 磐安县| 佛教| 大英县| 历史| 临安市| 永济市|