当前位置: 代码迷 >> Oracle管理 >> ASP.NET调用Oracle存储过程有关问题
  详细解决方案

ASP.NET调用Oracle存储过程有关问题

热度:428   发布时间:2016-04-24 05:05:53.0
ASP.NET调用Oracle存储过程问题
C# code
using (OracleCommand Cmd = new OracleCommand("QueryPagedTable", Conn))            {                Cmd.CommandType = CommandType.StoredProcedure;                Cmd.Parameters.Add("PageSize", OracleType.Int32).Value = PageSize;                Cmd.Parameters.Add("PageNo", OracleType.Int32).Value = PageNo;                Cmd.Parameters.Add("Table_", OracleType.VarChar, 50).Value = Table;                Cmd.Parameters.Add("Filter", OracleType.VarChar, 1000).Value = Filter;                Cmd.Parameters.Add("Order_", OracleType.VarChar, 500).Value = Order == null ? "" : Order; ;                Cmd.Parameters["Order_"].Direction = ParameterDirection.Output;                OracleDataAdapter ad = new OracleDataAdapter(Cmd);                try                {                    if (Conn.State != ConnectionState.Open)                    {                        Conn.Open();                        OpenedHere = true;                    }                    ad.Fill(ds);                }                catch                {                    return null;                }                finally                {                    if (OpenedHere) if (Conn.State == ConnectionState.Open) Conn.Close();                }            }

进入catch,提示下面错误信息:
ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'QUERYPAGEDTABLE' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored

---------------------------------
存储过程:
create or replace procedure QueryPagedTable(
p_pagesize int,
p_pageno int,
p_table varchar2,
p_filter varchar2,
p_order in out varchar2
)

------解决方案--------------------
PageSize PageNo Table Filter Order 定义在哪里?
是不是类型不对。。。
  相关解决方案