oracle11g-vs2012调用oracle存储过程返回输出字符串的值的问题

问题描述

vs2012调用oracle存储过程返回输出字符串的值的问题

vs2012调用oracle存储过程返回输出字符串的值的问题,在plsql中执行存储过程是没有问题的,输出的字符串也有值,但在vs中取输出参数的值时,此字符串的值为null,但
如果输出为整数,则可以得到返回值。

解决方案

贴出你的代码看看。你的参数传的对不对

解决方案二:

OracleConnection conn = new OracleConnection(connstr);
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "proc3";
cmd.Parameters.Add("reccount", OracleDbType.Int32).Direction = ParameterDirection.Output;
cmd.Parameters.Add("name", OracleDbType.Int32).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
string aab = cmd.Parameters["name"].Value.ToString();

                    存储过程如下
                    create or replace procedure proc3

(
name out Varchar2,
reccount out number
)
is
begin
name := 'asd';
reccount:=9;

end;

解决方案三:

我只要返回两个参数,做个简单的测试,但还是不行,字符串返回值为null

解决方案四:

cmd.ExecuteNonQuery(); 只会返回影响的条数吧。。

解决方案五:

 // Open the connection
OracleConnection connection
    = new OracleConnection("Server=Ora; User Id=Scott; Password = tiger;");
connection.Open();

// Create a command
OracleCommand command = new OracleCommand();
command.Connection = connection;

// Set the CommandType property to execute
// stored procedures or functions by this command
command.CommandType = System.Data.CommandType.StoredProcedure;

// Set the name of procedure or function to be executed
command.CommandText = "get_all_depts_proc";

// The ParameterCheck property should be true to automatically
// check the parameters needed for the procedure execution.
command.ParameterCheck = true;

// At this moment, the command is ready for execution.
// As we have an output cursor parameter, we may use the command to fill a data table.
OracleDataTable dt = new OracleDataTable(command, connection);
dt.Fill();

解决方案六:

http://stackoverflow.com/questions/3940587/calling-oracle-stored-procedure-from-c

解决方案七:

这个是输出参数的返回,不是要ExecuteNonQuery的返回值。

解决方案八:

oracle 应该用的12c的 微软的oracleclient 已经过时了, 换成oracle 的 odp 就可以了 Oracle.ManagedDataAccess.dll

时间: 2024-08-03 22:36:22

oracle11g-vs2012调用oracle存储过程返回输出字符串的值的问题的相关文章

C#调用ORACLE存储过程返回结果集及函数

oracle|存储过程|函数   ORACLE段:首先在ORACLE建立PACKAGE和PACKAGE BODY,将在这里面定义函数和存储过程返回结果集.1:建立PACKAGE:CREATE OR REPLACE package SCOTT.pk_wtistype mytype is ref cursor;procedure p_wt(mycs out mytype);function f_get(str in varchar2)return varchar2;end; /说明:其实PACKAG

用.NET调用Oracle存储过程返回记录集

oracle的存储过程返回记录集,关键之处是要用游标.关于数据库的游标(cursor)大家肯定都接触不少,我们可以通过OPEN,FETCH,CLOSE操作控制游标进行各种方便的操作,这方面的例子我就不在重复了. 我们现在要介绍的是游标变量(cursor variable).类似游标,游标变量也是指向一个查询结果集的当前行.不同的是,游标变量能为任何类型相似(type-compatible)的查询打开,而并不是绑定到某一个特定的查询.通过游标变量,你可以在数据库的数据提取中获得更多的方便. 首先是

asp.net调用oracle存储过程,返回数据集的问题????如何定义存储过程???

问题描述 TABLE1中有下列字段C1,C2,C3,C4,C5,C6,C7,C8,C9....我要在前台页面中显示上表中的C1,C2,C3,C4,C5,C6,C7,C8打算用DATASET,那么,在ORACLE中如何写上面的存储过程啊?????要用到selectC1,C2,C3,C4,C5,C6,C7,C8fromtable1wherec1='10001'语句 解决方案 解决方案二:建一个包,包内有一个存储过程,存储过程内生命一个游标open游标名selectC1,C2,C3,C4,C5,C6,

ASP 调用 ORACLE存储过程并返回结果集

oracle|存储过程 ASP 调用 ORACLE存储过程并返回结果集 看过网上好多ASP调用ORACLE的方法,但是没有特好特直接的东西,所以总结各家的东西最后得出的一个自己需要的方法,感觉也比较大众所以特此发布 ###################################################oracle的存储过程################################################### --创建包头create or replace pack

mybatis调用oracle存储过程报错

问题描述 mybatis调用oracle存储过程报错 错误如下 java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 'DOINENTITYDATA' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored -- 替换或创建存储过程 CREATE OR REPLACE PROCEDURE doInentityData as --声明游标 存储ODS的有效数据 CURSOR

jsp中调用Bean,然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

大家一起分享C#调用oracle存储过程

oracle|存储过程 大家一起分享C#调用oracle存储过程 执行结果 ?????? ? ?????? ? ????? ? Oracle方面 1.创建Oracle过程存储 create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)as? varparam varchar2(28);begin? varparam:=paramin;? p

jsp中调用Bean,然后在Bean中调用oracle存储过程。

js|oracle|存储过程 新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底.      最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了. 言归正传.      建立一个登录系统,要求达到以下目的.      1.用户通过Bean来认证以及得到得到用户信息.      2.记录用户登录信息,如用户登录次数,最后登录时间.      3.记录操作日志.     未解决及疑惑的问题:     1.用户登录后的Session是否可以通过B

jsp中调用Bean然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤: