【发布时间】:2013-09-01 14:42:08
【问题描述】:
我正在将我的一个 Asp.Net 项目中的数据访问代码从 MySQL 转换为 MSSQL。我借此机会尝试删除对提供者特定类或命名空间的任何依赖。
所以我没有直接使用 MySqlCommand 或 SqlCommand 类,而是使用 DbProviderFactories.GetFactory() 方法返回 DbCommand 对象。
我遇到的一个问题是我的代码捕获了 MySqlExpection 异常。我想要一种与提供者无关的方法来捕获 Sql 异常。这可能吗?
【问题讨论】:
-
澄清一下,您捕获的异常是在数据层内部还是外部?
-
Sql 实现 DBexception。我假设 MSSQL 也可以。你试过 DBexceptoin 吗?我没有要测试的 MSSQL。
-
在数据访问层内。
-
@Blam。 Syste.Data.Common.DBException 类正是我想要的。如果您想将其作为答案发布,我会投票并接受它作为正确答案。