当前位置:  开发笔记 > 编程语言 > 正文

数据库异常处理最佳实践

如何解决《数据库异常处理最佳实践》经验,为你挑选了1个好方法。

如何在应用程序中处理数据库异常?
您是在尝试在将数据传递给DB之前验证数据还是仅仅依赖于数据库模式验证逻辑?
您是否尝试从某种DB错误中恢复(例如超时)?

以下是一些方法:

    在将数据传递给DB之前验证数据

    左对数据库进行验证并正确处理数据库异常

    双方验证

    验证业务逻辑中的一些明显约束并将复杂验证留给DB

你用什么方法?为什么?

更新:

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

建议:

双方验证

检查客户端的业务逻辑约束,让DB 从hamishmcn进行完整性检查

尽早检查以避免困扰ajmastrean的 DB

提前检查以改善Will的用户体验

保持DB交互代码,以简化hamishmcn的开发

对象关系映射(NHibernate,Linq等)可以帮助您处理来自ajmastrean的约束

出于安全原因,Seb Nilsson需要客户端验证

你有什么要说的吗?这将转换为验证特定问题.我们缺少核心,即"数据库相关的错误最佳实践",哪些要处理,哪些要冒泡?



1> 小智..:

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

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

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

正在进行一些尝试来统一交叉责任,例如P&P集团的政策注入应用程序块与其验证应用程序块相结合的政策注入器中的验证,但这些仍然是基于代码的.如果您的验证不在代码中,则仍需要单独维护并行逻辑...

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有