加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle Data Access Components (ODAC)

发布时间:2020-12-12 16:23:22 所属栏目:百科 来源:网络整理
导读:Oracle Data Access Components (ODAC)这个组件可以让你很的方便连接Oracle,不用配置TNS文件,也不用安装客户端.不过用了之后再也没有思考过各个部分是64位还是32位的问题了. 我安装的是Oracle 12C, 官网下载对应的版本:http://www.oracle.com/technetwork/da

Oracle Data Access Components (ODAC)这个组件可以让你很的方便连接Oracle,不用配置TNS文件,也不用安装客户端.不过用了之后再也没有思考过各个部分是64位还是32位的问题了.我安装的是Oracle 12C,官网下载对应的版本:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html


安装后,E:appwendi1product12.1.0dbhome_1ODP.NETmanagedcommon目录中存在Oracle.ManagedDataAccess.dll文件,引用即可.下面是简单的demo.


aspx.cs文件:

using System;
using Oracle.ManagedDataAccess.Client;

public partial class ConnOracle: System.Web.UI.Page {

    public String SName { get; set; }
    public int Result1 { get; set;}
    public int Result2 { get; set; }
    public int Result3 { get; set; }

    protected void Page_Load(object sender,EventArgs e) {
        this.SName = "你好呀 ! ";

        int id = 4;
        string tableName = "haode";
        OracleConnection conn = new OracleConnection("User ID=C##wendi;Password=0000;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))");
        conn.Open();

        //查
        //表名没用到占位符,好像没这个需求
        OracleCommand cmd = new OracleCommand("select name from haode where id=:id",conn);
        //OracleParameter para1 = new OracleParameter(":haode",tableName);
        //cmd.Parameters.Add(para1);
        OracleParameter para2 = new OracleParameter(":id",id);
        cmd.Parameters.Add(para2);
        OracleDataReader dr = cmd.ExecuteReader();
        while (dr.Read()) {
            this.SName = dr.GetOracleString(0).ToString();
        }
        cmd.Dispose();
        dr.Close();

        //增
        //这里可以不用commit,但是cmd中一定.
        OracleCommand cmd1 = new OracleCommand("insert into haode values(5,'文迪','haha5')",conn);
        this.Result1 += cmd1.ExecuteNonQuery();
        this.Result1 += cmd1.ExecuteNonQuery();
        cmd1.Dispose();

        //删
        OracleCommand cmd2 = new OracleCommand("delete from haode where id=5",conn);
        this.Result2 = cmd2.ExecuteNonQuery();
        cmd2.Dispose();

        //删
        OracleCommand cmd3 = new OracleCommand("update haode set character='改了' where id=10",conn);
        this.Result3 = cmd3.ExecuteNonQuery();
        cmd3.Dispose();

        conn.Close();
    }
}

aspx:

<div>
    
        <h1> <%= this.SName %> </h1>
        <h2>增结果 : <%=this.Result1 %></h2>
        <h2>删结果 : <%=this.Result2 %></h2>
        <h2>改结果 : <%=this.Result3 %></h2>

</div>


几个Result>=1 就是操作成功了. Result=0,则是操作失败.结果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读