Oracle ODP.NET超时异常

时间:2011-08-02 06:39:26

标签: c# oracle timeout odp.net

我在c#应用程序中使用ODP.NET,并且我使用以下代码来执行存储过程:

OracleCommand _cmd = new OracleCommand();
        try
        {
            _cmd.CommandTimeout = 900;
            _cmd.Connection = myConnection;
            _cmd.CommandType = CommandType.StoredProcedure;
            _cmd.CommandText = storedProcedureName;

            _cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            DisplayAnyway = true;
            ImportMessage = "General problem occured\n" + ex.Message;
            ex.ToString();
        }

我的问题是,我怎么能修改它,以便只有在发生超时异常时才能做一些特殊的事情。 odp.net似乎只有OracleException,没有OracleTimeoutException或类似的东西。

谢谢!

2 个答案:

答案 0 :(得分:3)

检查OracleExceptionCode / ErrorCode属性,看看是否可以使用它们来区分特定错误。

答案 1 :(得分:1)

ODP.NET的OracleException类具有Number属性,该属性应包含Oracle特定的错误编号:OracleException's Number Property