加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库异常处理最佳做法

发布时间:2020-12-12 16:45:47 所属栏目:MsSql教程 来源:网络整理
导读:在应用程序中如何处理数据库异常? 您是否尝试在将数据传递给DB之前验证数据,或者仅依靠DB模式验证逻辑? 您是否尝试从某种DB错误(例如超时)中恢复? 这里有一些方法: 在将数据传递给DB之前验证数据 向DB确认并正确处理数据库异常 验证双方 验证业务逻辑中的
在应用程序中如何处理数据库异常?
您是否尝试在将数据传递给DB之前验证数据,或者仅依靠DB模式验证逻辑?
您是否尝试从某种DB错误(例如超时)中恢复?

这里有一些方法:

>在将数据传递给DB之前验证数据
>向DB确认并正确处理数据库异常
>验证双方
>验证业务逻辑中的一些明显的约束,并将复杂的验证留给DB

你使用什么方法?为什么?

更新:

我很高兴看到越来越多的讨论.
我们来试试总结社区答案.

建议:

>验证双方
检查业务逻辑约束
客户端,让DB做完整检查from hamishmcn
>提前检查以避免打扰DB from ajmastrean
>提前检查以提高用户体验from Will
>保持DB交互代码到位
简化开发from hamishmcn
>对象关系映射(NHibernate,Linq等)可以帮助您处理约束条件from ajmastrean
>出于安全原因,客户端验证是必要的from Seb Nilsson

你还有什么要说的吗?这被转换成具体的验证问题.我们错过了核心,即“数据库相关的错误最佳实践”,哪些是要处理哪些?

解决方法

@aku:DRY很好,但并不总是可能的.验证是其中之一,因为您将拥有三个完全不同和不相关的地方,其中不仅可能但绝对需要验证:在UI内,业务逻辑内和数据库内.

想想一个Web应用程序.您希望减少到服务器的行程,因此您可以包括对客户端数据输入的JavaScript验证.但您不能相信用户输入的内容,因此您必须在触摸数据库之前在业务逻辑中执行验证.并且数据库必须有自己的验证,以防止数据损坏.

在单个组件中统一这三种不同类型的验证没有干净的方法.

有一些尝试统一交叉责任,如政策注入者中的验证,如P& P组Policy Injection Application Block与Validation Application Block相结合,但这些仍然是基于代码的.如果您的验证不是代码,则您仍然需要分别维护并行逻辑…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读