Jet OLEDB:事务提交模式和Jet OLEDB之间有什么区别:用户提交同步?

时间:2010-12-30 13:32:12

标签: oledb jet

同时显示Jet / OLE DB参数well documented我无法理解这两个连接参数之间的区别:

第一个:

  

Jet OLEDB:事务提交模式   (DBPROP_JETOLEDB_TXNCOMMITMODE)

     

指示Jet是否将数据写入   磁盘同步或异步   提交交易时。

第二个:

  

Jet OLEDB:用户提交同步   (DBPROP_JETOLEDB_USERCOMMITSYNC)

     

指示是否进行了更改   在交易中写的是   同步或异步模式。

有什么区别?何时使用哪个?

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

您认为USERCOMMITSYNC=YES是同步提交的选项。这就是造成混乱的原因。

我花了很长时间来搜索这个主题,因为我发现我使用旧的vb6应用程序获得的行为与.net oledb/jet4

中的行为不同

现在我真的应该通过我读到的实际页面的链接备份我要说的内容,但我现在找不到这些页面。

无论如何,我正在浏览MSDN网站并找到一个描述Jet3中“设计”错误的页面,该错误转换了USERCOMMITSYNC的功能,意味着 NO 的值得到同步提交。

因此,MS将默认值设置为 NO ,默认情况下我们会进行同步提交。正如上面David Fenton所描述的那样。我们都接受了这种行为。

但是,该文件继续解释oledb/Jet4中的行为已被更改。基本上MS修复了他们的错误,现在USERCOMMITSYNC=YES的设置完成它所说的。

但是他们改变了默认值吗?我想不是因为现在我的显式事务是 NOT 使用oledb/jet4在.Net应用程序中同步提交。