Поймай исключение Oracle, если сможешь.
try
{
cmd.CommandText = "DELETE FROM myable";
cmd.ExecuteNonQuery();
}
catch (OracleException ex)
{
//Put your ORA-20001 logic here, or call a common method as shown
HandleOracleException(ex);
}
В обработчике перехвата проверьте, является ли число 20001, и затем выполните соответствующее действие.
Вот некоторые свойства OracleException
DataSource
Задает имя TNS, которое содержит информацию для подключения к экземпляру Oracle
Ошибка
Указывает коллекцию из одного или нескольких объектов OracleError, которые содержат информацию о
исключения, сгенерированные базой данных Oracle
InnerException
Унаследовано от исключения
Сообщение
Указывает сообщения об ошибках, которые появляются в исключении
номер
Определяет номер ошибки Oracle
Процедура
Задает хранимую процедуру, вызывающую исключение
Источник
Указывает имя поставщика данных, который генерирует ошибку
StackTrace
Унаследовано от исключения
TargetSite
Унаследовано от исключения
Ссылка для получения дополнительной информации:
http://download.oracle.com/docs/cd/B19306_01/win.102/b14307/OracleExceptionClass.htm