Oracle 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 或类似的东西。
谢谢你!
I'm using ODP.NET in an c# application, and i'm using the following code to execute a stored procedure:
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();
}
My question is, how could i modify this in order to be able to do some special stuff only when a timeout exception occurs. The odp.net seems to have only a OracleException and no OracleTimeoutException or somthing like this.
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
检查 OracleException 以查看是否可以使用它们来区分特定错误。
Check the
Code
/ErrorCode
properties of OracleException in order to see if you can use them for discriminating the specific error.ODP.NET 的 OracleException 类有一个 Number 属性,该属性应包含 Oracle 特定错误号:OracleException 的 Number 属性
The ODP.NET's
OracleException
class has aNumber
property that should contain the Oracle specific error number: OracleException's Number Property