JDBC 检查连接是否可以保证它将无错误地提交
有没有办法检查连接是否会在不引发异常的情况下提交?
我知道可延迟外键约束仅在事务提交时强制执行。
JDBC (java 6) API 是否提供任何方法来询问数据库自连接开始(或上次提交)以来的所有操作是否都会成功?
问候, 巴勃罗.
Is there a way of checking if a connection will commit without throwing an exception?
I know deferrable foreign key constraints are only enforced at transaction commit.
Does the JDBC (java 6) API provide any method to ask the database whether all operations since the connection began (or last commit) would be successfull?
Regards,
Pablo.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能那样做。提交的过程需要一些时间,并且连接随时可能会丢失(想象一下有人拔掉电缆)。所以这里没有保证。只要抓住例外——这就是它们被发明的原因。
You can't do that. The process of committing takes sometime and in any moment connection can be lost(imagine somebody unplugs the cabel). So no guarantees here. Just catch the exceptions - that why they were invented.
如果您使用的是 Oracle 数据库,您可以在提交之前检查是否存在任何延迟约束违规:
If you're using an Oracle database you can check if there are any deferred constraint violations before commit with: