oracle的executereader,尝试使用Oracle Data Access ODP.NET 11.2执行ExecuteReader()时出现InvalidOperationExceptio…

oracle的executereader,尝试使用Oracle Data Access ODP.NET 11.2执行ExecuteReader()时出现InvalidOperationExceptio…这是我第一次与Oracle合作,而且我们都讨厌在你使用特定模型的同时使用外国产品,尽管这是我们的工作,我们必须做到.现在我已经安装了Oracle11g,并复制并引用了Oracle.DataAccess.dll,创建了一个方法,用于打开连接并尝试从服务器上创建的视图中检索某些对象.方法:publicBindingListGetHeaderReceivers(){try{using(Oracl…

大家好,又见面了,我是你们的朋友全栈君。

这是我第一次与Oracle合作,而且我们都讨厌在你使用特定模型的同时使用外国产品,尽管这是我们的工作,我们必须做到.

现在我已经安装了Oracle 11g,并复制并引用了Oracle.DataAccess.dll,创建了一个方法,用于打开连接并尝试从服务器上创建的视图中检索某些对象.

方法:

public BindingList GetHeaderReceivers()

{

try

{

using (OracleConnection db = new OracleConnection(BaseDataAccess.ConnString))

{

string cmdText = “select * from p_customer t”;

BindingList headerReceivers = new BindingList();

OracleCommand cmd = new OracleCommand(cmdText) { CommandType = CommandType.Text };

db.Open();

OracleDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

while (reader.Read())

headerReceivers.Add(HeaderReceiver.GetInstance(reader));

CustBranchRepository rep = new CustBranchRepository();

headerReceivers.ForEach(p => p.DetailsBranch = rep.GetDetailReceivers(p.Id));

reader.Close();

db.Close();

return headerReceivers;

}

}

catch (Exception ex)

{

ExporterLogger.Log(ex);

return null;

}

}

现在,当ExecuteReader()提交时,我得到了这个InvalidOperationException.

Operation is not valid due to the current state of the object.

StackTrace:

at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)

at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)

at Exporter.Boss.DataAccess.CustomerRepository.GetHeaderReceivers() in …Exporter\Exporter.Boss.DataAccess\CustomerRepository.cs:line 25

任何想法和帮助……

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151537.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python输出保留小数位_python保留两位小数补0

    python输出保留小数位_python保留两位小数补0前言保留小数位是我们经常会碰到的问题,尤其是刷题过程中。那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法:方法一:format函数>>>print(‘{:.3f}’.format(1.23456))1.235>>>print(format(1.23456,’.2f’))1.23正如上面代码所示,format有不同用…

    2022年8月12日
    4
  • 关于slam

    关于slam什么是SLAM?机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。  之前地平线的高翔博士用这样一句话概括SLAM的释义。不过实际生活中的SLAM都是和激光雷达或者单目/双目摄像头结合的形式出现在我们面前的,有时甚至跟更多的传感器融合,这让很多人觉得这个技术不是一两句话能

    2025年7月5日
    1
  • 软件设计之——“高内聚低耦合”

    软件设计之——“高内聚低耦合”

    2021年10月10日
    92
  • 一份简短又全面的数学建模技能图谱:常用模型&算法总结

    本文总结了常用的数学模型方法和它们的主要用途,主要包括数学和统计上的建模方法,关于在数学建模中也挺常用的机器学习算法暂时不作补充,以后有时间就补。至于究竟哪个模型更好,需要用数据来验证,还有求解方法也不唯一,比如指派问题,你可以用线性规划OR动态规划OR整数规划OR图与网络方法来解。总的来说,常用主成分分析来降维,综合评价的方法有因子分析法、层次分析法、….,用蒙特卡罗方法来随机模拟求解;…

    2022年4月7日
    79
  • MYSQL截取字符串前后数据

    MYSQL截取字符串前后数据select LEFT(‘一把刀把|YBDB’,locate(‘|’,’一把刀把|YBDB’)-1)’前面’, substr(‘一把刀把|YBDB’,locate(‘|’,’一把刀把|YBDB’)+1,octet_length(‘一把刀把|YBDB’))’后面’substr(‘’,‘’,‘’)从竖线取值到结尾locate(‘|’,‘一把刀把|YBDB’)竖线位置octet_length(‘一把刀把|YBDB’)字符长度…

    2022年5月26日
    39
  • SAS学习笔记25 t检验(单个样本t检验、配对样本t检验、两个独立样本t检验及方差不齐时的t’检验)…

    SAS学习笔记25 t检验(单个样本t检验、配对样本t检验、两个独立样本t检验及方差不齐时的t’检验)…根据研究设计和资料的性质有单个样本t检验、配对样本t检验、两个独立样本t检验以及在方差不齐时的t’检验单样本t检验单样本t检验(one-samplet-test)又称单样本均数t检验,适用于样本均数$\overline{X}$与已知总体均数$\mu_{0}$的比较,其比较目的是检验样本均数所代表的总体均数µ是否与已知总体均数$\mu_{0}$有差别已知总体均数$\mu_{0…

    2022年6月19日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号