.NET 使用 ODP.NET 组件访问Oracle提示 外部组件发生异常 错误的解决办法

.NET 使用 Oracle.ManagedDataAccess.Client (也就是ODP.NET4.0,Oracle官方提供的数据访问组件),带参数访问数据库时,如果SQL语句中的参数顺序和参数数组中的顺序不一致时,会提示 “外部组件发生异常” 错误,所以一定要让参数顺序前后一致才可以。

例如:

var sql = @“UPDATE User SET MobileTel=:MobileTel WHERE Id=:Id”;

 OracleParameter[] para = new OracleParameter[]
 {
        new OracleParameter(":Id",Id),
        new OracleParameter(":MobileTel",MobileTel)
 };
 int rows = SqlHelper.ExecuteNonQuery(sql , para);

以上代码执行就会出错:一直会提示 “外部组件发生异常” 错误。

应该改成:

OracleParameter[] para = new OracleParameter[]
 {
new OracleParameter(":MobileTel",MobileTel),
new OracleParameter(":Id",Id)

 };
 int rows = SqlHelper.ExecuteNonQuery(sql , para);

注意两个参数 Mobile 和 Id 在SQL语句和参数数组中的顺序都要一致。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值