在asp.net中如何使用oledb调用oracle的存储过程,可否给个例子

解决方案 »

  1.   

    http://www.gotdotnet.com/workspaces/workspace.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431
      

  2.   

    用using System.Data.OracleClient;其他和SQL 一样,就是方法名改为ORACLE
      

  3.   

    但是我的vs里面看不到System.Data.OracleClient这个名字空间,我打了补丁也没有,所以我只有用oledb了,能给个这样的例子么
      

  4.   

    http://www.gotdotnet.com/workspaces/workspace.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431
    daab3.1里面就有例子
      

  5.   

    但是那个下载下来的zip文件不能打开,说是文件格式已经损坏,可以发一份给我么[email protected],谢谢啊
      

  6.   

    存储过程结构如下:
    Create or Replace Procedure xx_yy
    (
        i_OrderID in number,
        i_ReturnValue out number
    )
    is
        v_RealValue number;
        v_TotalValue number;
        v_AdvendorID  number;
    begin
       自己写就行
    end;
    下面讲一下调用:表结构
    create table ORDERTABLE
    (
      ORDERID NUMBER not null,
      TEXT    NUMBER not null
    )
    存储过程  (
        i_OrderID in number,
        i_ReturnValue out number
    )
    is
      spass ordertable.text%type;
    begin
      select text into spass from ordertable where orderid=i_OrderID; 
      i_ReturnValue:=spass;
      exception
       when no_data_found
       then i_ReturnValue:=-1; 
    end;源码:
    using System.Data .OracleClient ;//(别忘了添加)
    OracleConnection  Oraclecon = new OracleConnection ("Password=dloco;User ID=dloco;Data Source=dloco;");
    OracleCommand myCMD =  new OracleCommand();
    OracleParameter[] parameters = { new OracleParameter("i_OrderID", OracleType.Number, 10),new OracleParameter("i_ReturnValue",OracleType.Number,10 )};
    parameters[0].Value = 1;
    parameters[1].Direction = ParameterDirection.Output; myCMD.Connection = Oraclecon;
    myCMD.CommandType = CommandType.StoredProcedure;
    myCMD.CommandText = "dloco.xx_yy"; myCMD.Parameters .Add (parameters[0]);
    myCMD.Parameters .Add (parameters[1]); myCMD.Connection.Open(); myCMD.ExecuteNonQuery();     

    string result=myCMD.Parameters["i_ReturnValue"].Value.ToString();
    MessageBox.Show (result); Oraclecon.Close();
      

  7.   

    可以参考petshop3.0 OralceDal层