zoukankan      html  css  js  c++  java
  • .NET中访问Oracle数据库链接:ORA02041: client database did not begin a transaction 问题的处理。

    .NET中访问Oracle数据库链接:ORA-02041: client database did not begin a transaction 问题的处理。

    .NET中访问Oracle数据库链接:ORA-02041: client database did not begin a transaction 问题的处理。
    .NET中访问Oracle中带有DB_LINK时对象时,会抛出一下异常
    ORA-02041: client database did not begin a transaction
    意思是要设置一个事务,但是简单的BeginTransaction
    好像并不能解决问题,以下是解决的代码
    其中 DGIS_SP_MIS_WORKFLOW 中使用了一个数据库链接中的对象
    (针对只读情况,更新操作未作试验):
     

    OracleCommand command = new OracleCommand();

    oracleConnection1.Open();

    command.Connection = oracleConnection1;

    command.Transaction = oracleConnection1.BeginTransaction(IsolationLevel.ReadCommitted);           

    command.CommandText = "SET TRANSACTION READ ONLY";

    OracleDataReader oraDr = command.ExecuteReader();

    command.CommandText = "select * from DGIS_SP_MIS_WORKFLOW";

     

                 

    OracleDataAdapter oda = new OracleDataAdapter();

     

    DataTable dtTable = new DataTable();

    oda.SelectCommand = command;

    oda.Fill(dtTable);

    DBGrid1.DataSource = dtTable;

  • 相关阅读:
    MySQL-基础知识整理
    设计模式-适配器模式
    MySQL
    MySQL-5.7 填坑
    MySQL
    Oracle
    SQL 注入
    Apache JMeter
    AppScan
    DNS 搜索
  • 原文地址:https://www.cnblogs.com/jans2002/p/299302.html
Copyright © 2011-2022 走看看