我们正在将传统VB6应用程序从Sybase后端迁移到SQL Server 2008 R2。大多数应用程序正在进行转换,但是我有一个应用程序使用命名事务在代码中使用严格的事务控制。基于一些彻底的测试,似乎客户端或服务器根本不支持“开始”,“提交”和“回滚”命令。ADODB中针对传统VB6应用程序的事务支持
执行这样的命令:
conSQL.Execute "begin tran CaptureSch" ', , adExecuteNoRecords
,然后用@@ TRANCOUNT以下它总是产生0。另外,在以后的代码提交事务的任何尝试会产生3902错误。
使用这个命令:
conSQL.BeginTrans
确实出现了产生某种行为的变化,但将@@ trancount仍然是零,而且这种方法不支持嵌套事务,这是什么是必需的代码。
我试图改变隐式事务模式,各种连接字符串参数,更无济于事。有没有人有关于如何使这种类型的功能工作的任何建议?我在网上找到的这种类型的功能样本表明,如果在代码中明确执行,嵌套命名事务是受支持的。
感谢您的帮助。