oracle还原ddb,如何从ProfiledDbCommand中检索OracleCommand参数

Unable to cast object of type 'StackExchange.Profiling.Data.ProfiledDbCommand' to type 'Oracle.ManagedDataAccess.Client.OracleCommand'。

创建新的连接:

this._oracleConnection = new OracleConnection(ConnectionString.Oracle);

this._dbConnection = new StackExchange.Profiling.Data.ProfiledDbConnection(this._oracleConnection, MiniProfiler.Current);

方法中,我运行查询:

private long InsertData(SomeModel model, long someId, DbConnection conn)

{

OraDynamicParams insrtParams = this.GetSomeParams(model);

insrtParams.Add("a_some_id", someId);

insrtParams.Add("cur_OUT", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output);

dynamic res = conn.Query("SOME_CRUD.INSERT_PROC", insrtParams, commandType: CommandType.StoredProcedure).First();

//...

}

注: OraDynamicParams很简单,就是从SqlMapper.IDynamicParameters继承的类。

在下面的方法抛出异常时,试图转换为OracleCommand:

void SqlMapper.IDynamicParameters.AddParameters(IDbCommand command, SqlMapper.Identity identity)

{

var oracmd = (OracleCommand)command; // exception!

this.AddParameters(oracmd, identity);

}

如何解决这一问题?

2016-08-02

Edgar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值