Java JDBC检查一个连接是否可以保证它将无错误地提交

Java JDBC检查一个连接是否可以保证它将无错误地提交,java,jdbc,transactions,connection,Java,Jdbc,Transactions,Connection,有没有一种方法可以在不引发异常的情况下检查连接是否会提交 我知道可延迟外键约束仅在事务提交时强制执行 JDBC(Java6)API是否提供任何方法来询问数据库自连接开始(或上次提交)以来的所有操作是否成功 问候,, 巴勃罗。你不能那样做。提交的过程需要一段时间,在任何时刻,连接都可能丢失(想象有人拔掉电缆)。所以这里没有保证。只需捕获异常—这就是它们被发明的原因。如果您使用的是Oracle数据库,则可以在提交之前检查是否存在任何延迟约束冲突: Statement stmt = connectio

有没有一种方法可以在不引发异常的情况下检查连接是否会提交

我知道可延迟外键约束仅在事务提交时强制执行

JDBC(Java6)API是否提供任何方法来询问数据库自连接开始(或上次提交)以来的所有操作是否成功

问候,,
巴勃罗。

你不能那样做。提交的过程需要一段时间,在任何时刻,连接都可能丢失(想象有人拔掉电缆)。所以这里没有保证。只需捕获异常—这就是它们被发明的原因。

如果您使用的是Oracle数据库,则可以在提交之前检查是否存在任何延迟约束冲突:

Statement stmt = connection.createStatement();
stmt.executeUpdate("SET CONSTRAINTS ALL IMMEDIATE");

@vladimit:那么Xadasource如何处理两阶段提交呢?@vladmir:我的问题可能措辞错误:在可延迟约束的情况下,有没有办法通过jdbc要求数据库执行约束检查?