PowerBuilder 中的 Autocommit 和 SetTransObject() 是什么?他们之间有什么关系吗?为什么 SQL Server 处于非自动提交模式而 Oracle 处于自动提交模式?自动提交的值是如何处理的?
SetTransObject();
的作用是什么?
SetTransObject 是一个数据窗口方法,用于在自身和数据库事务对象(全局事务对象为 SQLCA)之间建立连接。 一般来说,数据窗口在实例化后不久就会“连接”到 trans 对象。
自动提交是事务对象(SQLCA)与数据库建立连接时使用的连接参数。 该参数控制 PowerBuilder 是否在事务范围内或之外发出 SQL 语句。
如果该值为 true,则数据窗口将在事务范围之外发出 SQL 语句。 每条成功的 SQL 语句后都会发出 COMMIT。
如果该值为 false,数据窗口将在事务内发出 SQL 语句。 当连接启动时以及每个 COMMIT 或 ROLLBACK 语句之后都会发出 BEGIN TRANSACTION 语句。
settransobject() 将 Sql 连接详细信息告知 Datawindow,以便在检索和更新时使用事务对象使用指定的 sql 连接。 内置事务对象是 SQLCA 。 配置数据库连接的属性。
Autocommit:如果设置为true,则不需要在代码中的sql语句之后添加commit语句。 如果设置为 false,则需要 commit 语句。这样做是为了鼓励在出现错误时使用事务回滚,在没有错误发生时使用提交。自动提交是SQLCA事务对象的属性。