熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp.net 連接Oracle數據庫

2013-11-13 10:34:45  來源: .NET編程 
代碼如下  

  connectionString="Password=czh;User ID=czh;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=skydream)));"

  HOST服務器IP或者服務器名稱

  SERVICE_NAMEoracle數據名稱

  User IDoracle 用戶名

  Passwordoracle用戶密碼

  如果oracle數據庫和web在同一台服務器上 可以寫成

  connectionString="Password=czh;User ID=czh;Data Source=skydream;"

  下面我們要開始查詢數據了

  准備工作

  A安裝Oracle Client我安裝的是oracle g如果使用Data Source=IP地址就必須安裝客戶端

  net中添加引用SystemDataOracleClient

  定義連接方式(綁定數據到GridView)string strConn=“Data Source=IP地址;User ID=賬號;Password=密碼”;

代碼如下  

  OracleConnection conn=new OracleConnection(strConn); 實例化連接

  connopen();

  string strSql="select * from Table";

  OracleDataAdapter da=new Oracle DataAdapter(strSqlconn);

  DataTable dt=new DataTable();

  daFill(dt);

  connClose();

  GridviewDataSource=dt;

  GridviewDataBind();

  綁定成功

  B如果沒有安裝oracle的客戶端從一些資料查看到可以使用

代碼如下  

  string StrConn=“Data Source=(

  DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = ****)(PORT = **))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = 服務名)

  )

  );

  user ID=賬號;Password=密碼;”;未做驗證

  B 關於讀取數據庫的集中方式

  就是A中的實例

  Updateinsert更新查詢oracle數據庫內容*

代碼如下  

  OracleConnection conn=new OracleConnection(strConn);

  connopen();

  string strSql=“update tabel set column=‘’ where …”;

  or strSql=“insert into table values(‘’’’)”;

  OracleCommand ocd=new OracleCommand(strSqlconn);

  int intResult=ocdExecuteNonQuery();

  connclosed();

  讀取查詢oracle數據庫內容

代碼如下  

  String strSql=“select * from tblproject”;
OracleCommand cmd=new OracleCommand(strSqlconn);
OracleDataReader dr=cmdExecuteReader();
If(drRead())

  {……}

  cmdDispose();

  drDispose();

  connClosed();

  在連接過程中我出現過一些問題下面也分享給各位同學連接ORACLE出錯

  當在aspnet應用中使用數據訪問的組件(調用SystemDataOracleClient)時程序報“SystemException: SystemDataOracleClient requires Oracle client software version or greater”的錯誤無法創建OracleConnection

  A 當Oracle 運行在NTFS的分區上時對於某些非administrator組的用戶ORACLE_HOME 目錄是不可見的而在windows server 下aspnet應用使用的帳戶是netword service因此無法創建oracle連接只要重設一下ORACLE_HOME目錄的權限就可以了

  步驟如下

  以管理員的用戶登錄;

  找到ORACLE_HOME文件夾(本人的是D:oracleora不要對著ORACLE文件夾修改因為ORACLE_HOME文件夾是oracle下面的那個ora文件夾)點右鍵選屬性安全在組或用戶欄中選“Authenticated Users”在下面權限列表中把“讀取和運行”的權限去掉再按應用;重新選上“讀取和運行”權限點擊應用;選權限框下面的“高級”按鈕確認“Authenticated Users”後面的應用於是“該文件夾子文件夾及文件”按確定把權限的更改應用於該文件夾;

  重新啟動計算機讓權限設置生效(其實只需要重啟IIS就可以);

  登錄後運行aspnet應用正常取得Oracle數據庫的數據


From:http://tw.wingwit.com/Article/program/net/201311/14030.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.