根据您使用的接口和提供程序以及控制自动提交行为的方式,自动提交模式的行为会略有不同。
实现自动提交模式可以采用以下两种方式之一:
客户端自动提交 当应用程序使用自动提交时,客户端库在每一个 SQL 语句执行之后发送 COMMIT 语句。
ADO.NET、ADO/OLE DB、ODBC、PHP 和 SQL Anywhere JDBC 驱动器应用程序控制来自客户端的提交行为。
服务器端自动提交 应用程序关闭链接模式时,数据库服务器提交每个 SQL 语句的结果。对于 Sybase jConnect JDBC 驱动程序,此行为受 chained 数据库选项控制。
嵌入式 SQL、jConnect 驱动程序和 Open Client 应用程序操控服务器端的提交行为(例如,这些应用程序设置 chained 选项)。
对于复合语句,如存储过程或触发器,客户端和服务器端的自动提交有所不同。从客户端看,存储过程是单一语句,因此自动提交将在整个过程执行之后发送单一提交语句。从数据库服务器的角度来看,存储过程可以由许多 SQL 语句构成,因此服务器端自动提交将提交该过程内的每个 SQL 语句的结果。
不要将客户端和服务器端实现混合使用。在 SQL Anywhere ADO.NET、OLE DB、ODBC、PHP 或 JDBC 应用程序中,不应将设置 chained 选项与设置 autocommit 选项这两个操作组合在一起。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |