代碼如下
connectionString="Password=czh;User ID=czh;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.168.211)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=skydream)));"
HOST:服務器IP或者服務器名稱
SERVICE_NAME:oracle數據名稱
User ID:oracle 用戶名
Password:oracle用戶密碼
如果oracle數據庫和web在同一台服務器上 可以寫成
connectionString="Password=czh;User ID=czh;Data Source=skydream;"
下面我們要開始查詢數據了,
准備工作:
A、安裝Oracle Client。我安裝的是oracle 10g。如果使用Data Source=IP地址,就必須安裝客戶端
1、在.net中添加引用System.Data.OracleClient
2、定義連接方式(綁定數據到GridView):string strConn=“Data Source=IP地址;User ID=賬號;Password=密碼”;
代碼如下OracleConnection conn=new OracleConnection(strConn); ---實例化連接
conn.open();
string strSql="select * from Table";
OracleDataAdapter da=new Oracle DataAdapter(strSql,conn);
DataTable dt=new DataTable();
da.Fill(dt);
conn.Close();
Gridview1.DataSource=dt;
Gridview1.DataBind();
綁定成功。
B、如果沒有安裝oracle的客戶端,從一些資料查看到可以使用:
代碼如下string StrConn=“Data Source=(
DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = **))
)
(CONNECT_DATA =
(SERVICE_NAME = 服務名)
)
);
user ID=賬號;Password=密碼;”;-----未做驗證
B 、關於讀取數據庫的集中方式:
1.1、就是A中的實例
Update、insert更新查詢oracle數據庫內容*
代碼如下OracleConnection conn=new OracleConnection(strConn);
conn.open();
string strSql=“update tabel1 set column1=‘’ where …”;
or strSql=“insert into table1 values(‘’,’’)”;
OracleCommand ocd=new OracleCommand(strSql,conn);
int intResult=ocd.ExecuteNonQuery();
conn.closed();
讀取查詢oracle數據庫內容
代碼如下String strSql=“select * from tblproject”;
OracleCommand cmd=new OracleCommand(strSql,conn);
OracleDataReader dr=cmd.ExecuteReader();
If(dr.Read())
{……}
cmd.Dispose();
dr.Dispose();
conn.Closed();
在連接過程中我出現過一些問題,下面也分享給各位同學連接ORACLE出錯
當在asp.net應用中使用數據訪問的組件(調用System.Data.OracleClient)時,程序報“System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater”的錯誤,無法創建OracleConnection。
A 當Oracle 9.2運行在NTFS的分區上時,對於某些非administrator組的用戶,ORACLE_HOME 目錄是不可見的,而在windows server 2003下asp.net應用使用的帳戶是netword service,因此無法創建oracle連接,只要重設一下ORACLE_HOME目錄的權限就可以了。
步驟如下:
1、以管理員的用戶登錄;
2、找到ORACLE_HOME文件夾(本人的是D:oracleora92,不要對著ORACLE文件夾修改,因為ORACLE_HOME文件夾是oracle下面的那個ora92文件夾),點右鍵,選屬性--安全,在組或用戶欄中選“Authenticated Users”,在下面權限列表中把“讀取和運行”的權限去掉,再按應用;重新選上“讀取和運行”權限,點擊應用;選權限框下面的“高級”按鈕,確認“Authenticated Users”後面的應用於是“該文件夾、子文件夾及文件”,按確定把權限的更改應用於該文件夾;
3、重新啟動計算機,讓權限設置生效(其實只需要重啟IIS就可以);
4、登錄後運行asp.net應用,正常取得Oracle數據庫的數據。