public OracleDataStoreException(OracleException ex, OracleCommand cmd) : base("", ex) { StringBuilder sb = new StringBuilder(); if (ex.Number == 24381) { // error(s) in array DML // See http://docs.oracle.com/html/B14164_01/featOraCommand.htm foreach (var error in ex.Errors.OfType <OracleError>()) { sb.AppendFormat("Array Bind Error {0} occured at Row Number {1}", error.Message, error.ArrayBindIndex); sb.AppendLine(); } } else { foreach (var error in ex.Errors.OfType <OracleError>()) { sb.AppendLine(error.Message); } } #if DEBUG if (cmd != null) { sb.AppendLine("Additional Debug Mode Information"); sb.AppendLine(cmd.CommandText); foreach (OracleParameter param in cmd.Parameters) { sb.AppendFormat("{0} ({1} {2}: *{3}*)", param.ParameterName, param.Direction, param.OracleDbType, param.Value); sb.AppendLine(); } } #endif _message = sb.ToString(); var ev = new OracleDataStoreErrorEvent("OracleDataStoreException is being raised", cmd, this); ev.Raise(); }
public OracleDataStoreException(OracleException ex, OracleCommand cmd) : base("", ex) { StringBuilder sb = new StringBuilder(); if (ex.Number == 24381) { // error(s) in array DML // See http://docs.oracle.com/html/B14164_01/featOraCommand.htm foreach (var error in ex.Errors.OfType<OracleError>()) { sb.AppendFormat("Array Bind Error {0} occured at Row Number {1}", error.Message, error.ArrayBindIndex); sb.AppendLine(); } } else { foreach (var error in ex.Errors.OfType<OracleError>()) { sb.AppendLine(error.Message); } } #if DEBUG if (cmd != null) { sb.AppendLine("Additional Debug Mode Information"); sb.AppendLine(cmd.CommandText); foreach (OracleParameter param in cmd.Parameters) { sb.AppendFormat("{0} ({1} {2}: *{3}*)", param.ParameterName, param.Direction, param.OracleDbType, param.Value); sb.AppendLine(); } } #endif _message = sb.ToString(); var ev = new OracleDataStoreErrorEvent("OracleDataStoreException is being raised", cmd, this); ev.Raise(); }