您的位置:首页 > 数据库 > Oracle

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

2017-12-14 10:19 886 查看
.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语句和参数数组中的顺序都要一致。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐