C 多種方式連線Oracle。

2021-09-25 10:04:36 字數 4435 閱讀 5347

廢話不多說直接正題:

首先我們先在oracle資料庫下建了乙個使用者叫做lisi,密碼為lisi,在這個使用者下建立一張表叫做「users」,在這個表下新增三個資料。

方式一:利用oledb連線oracle。

1

#region 使用oledb方式

2 console.writeline("

oledb方式");

3 oledbconnection oledbconnection = new oledbconnection("

provider=oraoledb.oracle; data source=mldn; user id=lisi; password=lisi;");

4 oledbcommand oledbcommand = new

oledbcommand();

5 oledbcommand.commandtext = "

select * from users";

6 oledbcommand.commandtype =commandtype.text;

7 oledbcommand.connection =oledbconnection;

8oledbconnection.open();

9var oledbreader =oledbcommand.executereader();

10while

(oledbreader.read())

1114

oledbconnection.close();

15#endregion

方式二:利用oracle.manageddataaccess.client方式,在使用前,我們需要先在nuget中找到oracle.manageddataaccess,然後安裝,該方式好處之一是不需要在客戶端上安裝oracle客戶端,該版本是由oracle公司開發的,而且微軟已經放棄了自己的system.data.oracleclient方式(下面會有介紹),推薦使用這種方式。

程式碼如下:

#region oracleconnection

//oracleconnection connection = new oracleconnection("password=lisi;user id=lisi;data source=(description=(address_list=(address=(protocol=tcp)(host=192.168.229.138)(port=1521)))(connect_data=(server=dedicated)(service_name=****)))");沒有安裝客戶端的話,可以使用這種方式

console.writeline("

oracle.manageddataaccess.client方式");

oracleconnection oralceconnection = new oracleconnection("

data source=mldn; user id=lisi; password=lisi;");

oralceconnection.open();

oraclecommand oraclecommand = new

oraclecommand();

oraclecommand.commandtext = "

select * from users";

oraclecommand.commandtype =commandtype.text;

oraclecommand.connection =oralceconnection;

var oraclereader =oraclecommand.executereader();

while

(oraclereader.read())

oralceconnection.close();

#endregion

方式三:利用odbc方式

#region odbcconsole.writeline(

"odbc方式");

雖然已經過時了但是還是可以使用的,**如下:

1

#region

23 console.writeline("

system.data.oracleclient方式");

4 system.data.oracleclient.oracleconnection clientconnection = new

system.data.oracleclient.oracleconnection();

5 clientconnection.connectionstring = "

data source=mldn; user id=lisi; password=lisi;";

6 system.data.oracleclient.oraclecommand clientcommand = new

system.data.oracleclient.oraclecommand();

78 clientcommand.commandtext = "

select * from users";

9 clientcommand.connection =clientconnection;

10 clientcommand.commandtype =commandtype.text;

11clientconnection.open();

12var clientreader =clientcommand.executereader();

13while

(clientreader.read())

1418

clientconnection.close();

19#endregion

當安裝好了之後,我們可以使用ef去連線oralce資料庫了,連線方式如下:

然後我們在ui畫面中拉取我們需要用到的表,注意使用ef的時候是要設定表主鍵的,所以我們需要設定users這張表的id為主鍵,否則沒有辦法拉取到該錶物件。

**如下:

#region oracle efconsole.writeline(

"oracle ef方式");

entities db = new

entities();

var users =db.users.tolist();

foreach (var item in

users)

#endregion

執行結果畫面:

綜上是我目前所知道的連線oracle的方式,至於還有其他方式,我暫時可能就不太清楚了。

雙絞線的多種連線方式

在小型區域網中,通常使用的連線裝置是雙絞線 網絡卡和集線器。用雙絞線連線網絡卡和集線器的方式共有三種 網絡卡到集線器 集線器到集線器和網絡卡到網絡卡的連線。三種不同的連線方式下,雙絞線兩端的rj 45聯結器 俗稱水晶頭 中線的排列也不一樣,現以最常用的5類非遮蔽雙絞線為例,分別介紹一下雙絞線的三種連...

C 連線 Oracle 的幾種方式

一 通過system.data.oracleclient 需要安裝oracle客戶端並配置tnsnames.ora 二 通過system.data.oracleclient 需要安裝oracle客戶端不需配置tnsnames.ora 三 通過system.data.oledb和oracle公司的驅動...

C 連線 Oracle 的幾種方式

一 通過system.data.oracleclient 需要安裝oracle客戶端並配置tnsnames.ora 二 通過system.data.oracleclient 需要安裝oracle客戶端不需配置tnsnames.ora 三 通過system.data.oledb和oracle公司的驅動...