存储过程和超时

时间:2020-03-05 18:42:36  来源:igfitidea点击:

我正在运行一个很长的过程存储过程。

我想知道在启动存储过程调用后是否发生超时或者与数据库断开连接的情况。它仍在工作并在服务器上实施更改吗?

解决方案

回答

这取决于我猜的服务器。
我知道Firebird会检测到断开连接的客户端并停止工作。
无论如何,如果客户端没有在工作结束时提交,则更改应由服务器回滚。

回答

Anyway if the client is not there to commit at the end of the job the changes should be rolled back by the server.

换句话说,如果我们有一个对数据库进行更改的存储过程,并且连接可能会在中间断开,请确保将所有更改都包含在事务中。

回答

我建议我们在数据库上运行探查器并观察活动,并创建一个基本的测试用例,以便我们确定会发生什么。结果取决于数据库以及用于连接数据库的内容。