ORA-02041 client database did not begin a transaction
Cause: An update occurred at a coordinated database without the coordinator
beginning a distributed transaction. This may happen if a stored procedure
commits and then performs updates, and the stored procedure is invoked
remotely. It could also happen if an external transaction monitor violates the XA
protocol.
Action: If the cause is the former, check that any commit is not followed by an
update.
Cause: An update occurred at a coordinated database without the coordinator
beginning a distributed transaction. This may happen if a stored procedure
commits and then performs updates, and the stored procedure is invoked
remotely. It could also happen if an external transaction monitor violates the XA
protocol.
Action: If the cause is the former, check that any commit is not followed by an
update.
解决方案 »
- 求解一个语句问题
- ORA-12518 TNS:监听程序无法分发客户机连接
- 急 在线等 oracle无法连上远程数据库
- 这个数据文件竟然大到了10G
- Oracle 11g DBConsole 登陆时出现证书错误该如何解决????
- 关于impdp/expdp
- 高分求错~~~下面的存储过程有错误,请大家来看看是不是逻辑上的错误啊·!!!!100分!!在线等·!!
- 有关Oracle中英文字符大小写的问题
- 大虾们救命,怎么从三个表里抽出两条记录,是最近时间建立的,每个表有createdate字段
- Oracle中是否有密码类型定义?
- 如何在数据集增加一字段,字段中数据值是表明数据记录所在的行数!
- Oracle Management Server 启动问题!困扰多日,请高手不吝赐教!谢谢!
OracleTransaction oraTrans;
oraTrans = oraConn.BeginTransaction(IsolationLevel.ReadCommitted); // *******************************************************
// * 存储过程:pub.dss_prc_ka_1(开始日期,结束日期,航段)
// * 数 据 表:dss_ka_1_v
//********************************************************
#region 查询航段,默认为空串
string strSegment ="";
if(ddlSegment1.SelectedItem!=null && ddlSegment1.SelectedIndex>0 &&
ddlSegment2.SelectedItem!=null && ddlSegment2.SelectedIndex>0)
{
strSegment =ddlSegment1.SelectedValue.ToString() + ddlSegment2.SelectedValue.ToString();
}
else
{
strSegment ="";
}
#endregion //调用存储过程查询统计结果
string strProcName ="pub.dss_prc_ka_1"; //存储过程名称
int iResult = OracleHelper.ExecuteNonQuery(oraTrans,CommandType.StoredProcedure,strProcName,
new OracleParameter("ls_date1",ucStartDate.SelectDate.ToString()),
new OracleParameter("ls_date2",ucEndDate.SelectDate.ToString()),
new OracleParameter("ls_segment",OracleType.VarChar,6,ParameterDirection.Input,true,0,0,"",DataRowVersion.Default,strSegment));