返回值为varchar2类型的示例:
public string QueryForLastestIndicatorValue(string personId, string crowdGroup)
{
OracleParameter[] parms = new OracleParameter[]
{
new OracleParameter(":个人id_In", OracleDbType.Varchar2),
new OracleParameter(":人群码集合_In", OracleDbType.Varchar2),
new OracleParameter(":结果_Out", OracleDbType.Varchar2,ParameterDirection.Output){Size=255}
};
parms[0].Value = personId;
parms[1].Value = crowdGroup;
int k = OracleHelper.ExecuteNonQuery(OracleHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "P_居民关注指标_QUERY2", parms);
object value = parms[2].Value;
return (value == null || value.ToString().Equals("null")) ? string.Empty : value.ToString();
}
返回值为cursor(dataset)的示例
DataSet ds = new DataSet();
OracleParameter[] parms = new OracleParameter[]
{
new OracleParameter(":个人id_In", OracleDbType.Varchar2),
new OracleParameter(":指标名称_In", OracleDbType.Varchar2),
new OracleParameter(":指标名称_In", OracleDbType.RefCursor,ParameterDirection.Output),
};
parms[0].Value = personId;
parms[1].Value = attentionTarget;
OracleConnection connection = new OracleConnection(OracleHelper.ConnectionStringLocalTransaction);
OracleCommand cmd = new OracleCommand("p_居民关注指标明细_Query", connection);
cmd.CommandType = CommandType.StoredProcedure;
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
connection.Open();
if (parms != null && parms.Length > 0)
adapter.SelectCommand.Parameters.AddRange(parms.ToArray());
OracleDataReader read = cmd.ExecuteReader(CommandBehavior.SchemaOnly);//ODP驱动时如果查询的字段有参数则会报ORA-01036: 非法的变量名/编号错误,先执行以下ExecuteReader可避免
read.Close();
read.Dispose();
connection.Close();
adapter.Fill(ds);
return ds;
分享到:
相关推荐
主要介绍了C# ODP.NET 调用Oracle函数返回值时报错的一个解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
C#连接Oracle所需的ODP.NET,这里是从Oracle网站下载的, 现在在官网上下载的几乎都是12g版本了。
c#通过odp访问oracle,无需安装oracle客户端 亲测可用,包含简单的oraclehelper 包含全部必须dll,直接编译即可运行
花了很长时间寻找c#无客户端的必备dll文件,csdn几个都下载了尝试发现不能用,最后还是从oracle官网下载了完整包,并从里面提取了几个dll文件。 注:该dll支持.net framework 4.0,并在vs2010内测试通过,使用2.0的就...
对于asp.net访问oracle数据库,微软已经再支持data.oraclecliet,意见使用odp.net来访问oracle了哦。比data.oraclecliet访问数据库...非常感谢 xifenfei 提供的文件,但在使用不法使用存储过程返回数据集,特做了修改
本文将介绍C#利用ODP.net连接Oracle数据库的操作方法,需要的朋友可以参考下
net中使用ODP.net访问Oracle数据库(无客户端部署方法)
对于asp.net访问oracle数据库,微软已经再支持data.oraclecliet,意见使用odp.net来访问oracle了哦。比data.oraclecliet访问数据库效率更高的odp.net,使用微软的oraclehelper改写得到
Pro ODP.NET for Oracle Database 11g.pdf
使用了,ODP.NET 方式链接数据库,只要把Oracle.ManagedDataAccess.dll引入取代以前的Oracle.DataAccess.dll即可。 这种方式也是oracle公司提供的,稳定性要比之前那种更好,而且也是免安装客户端的,目前还没测试...
在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了。在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用...
C#-连接-Oracle-的几种方式 一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora) 二:通过System.Data.OracleClient(需要安装Oracle客户端不需配置tnsnames.ora) 三:通过System.Data.OleDb...
oracle ODP.NET 批量插入或更新
C# 免安装ORACLE客户端访问数据库 正式版 亲测可用 在工作中遇到的问题,知道缺几个DLL,但是无从下载,或者下载的版本不对应,直到找到了这个 在没有安装oracle客户端的情况下,可连接oracle数据库执行各种操作 ...
64位操作系统使用ODP_NET连接Oracle数据库
免安装Oracle客户端的两种操作数据库的方式及代码 1.通过微软的OleDb调用,调用oracle类库放到bin文件夹,也可以在代码里设置字符集 2.通过Oracle提供的ODP.net调用
内容:使用ODP.net64bit连接Oracle 11g 64bit,无需安装端。 资源:ODP.net,Oled,连接错误解决方案
c# 连接 oracle 11数据库 免安装客户端 odp.net 小小的问题也阻扰了2个多小时,主要是dll的问题,看bin下dll(一共7个). 各种版本不兼容,试了很多方式最后终于成功,现拿出来分享下。 Oracle.DataAccess.Client...