程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> asp.net 連接Oracle數據庫

asp.net 連接Oracle數據庫

編輯:關於ASP.NET

     

    代碼如下  

    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數據庫的數據。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved