zoukankan      html  css  js  c++  java
  • Oracle数据库 External component has thrown an exception

    出现这种错误一般是在SQL语句执行前就报出的错误。这样的错误一般需要仔细检查SQL语句,以及参数的数据类型。

    而在cmd.ExecuteNonQuery()中出现的错误,则很可能就排除了语法类的错误。

            public static int ExecuteSql(string strSQL, params OracleParameter[] commandParameters)
            {
                try
                {
                    OpenConnection();
                    OracleCommand cmd = new OracleCommand();
                    PrepareCommand(cmd, Connection, null, CommandType.Text, strSQL, commandParameters);
                    
                    int val = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return val;
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
            }

    近期遇到这样一个错误:

    update HP_GSBM_GR set DATA_BM=:DATA_BM, UDT=:UDT, DETAILS=:DETAILS where TCOS_ID=:TCOS_ID and CURRENT_TYPE =:CURRENT_TYPE

     

    在执行时发生了莫名的错误。后来仔细检查过语法后,发现是参数的在commandParameters中出现的次序的错误问题。

    看来,以后写SQL语句,最好能现在PL/SQL中检查后再测试才是正道,否则对于这种参数定义的次序出现也是错误的问题,真的在调试时极难发现。

  • 相关阅读:
    根据模板自动生成数据
    CSV to XLSX (专用)
    释放用完的Excel COM组件
    配置文件的力量
    字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)
    将结果中的省略号内容全部输出
    Powershell变量的类型
    一些用过的C#类库收集
    运算符
    特殊运算符
  • 原文地址:https://www.cnblogs.com/arxive/p/6235904.html
Copyright © 2011-2022 走看看