场景:我想让多个(可能是2到20个)服务器应用程序使用ADO.NET使用单个数据库。我希望单个应用程序能够获取数据库中记录集的所有权,将它们保存在DataSets中的内存中(为了提高速度),响应客户机对数据的请求,执行更新并防止其他应用程序更新这些记录直到拥有权已被放弃。使用与ADO.NET数据适配器交易
我是新来的ADO.NET,但它似乎应该有可能使用数据适配器(ADO.NET断开连接层)事务。
问题第1部分:这是正确的方法来尝试做到这一点吗?
问题第2部分:如果这是正确的方式,任何人都可以点我在这种方法的任何教程或实例(在C#)?
问题第3部分:如果我想能够采取的个人记录的所有权,并独立地释放出来,我是将需要为每个记录单独的事务,并通过扩展一个单独的DataAdapter和DataSet来保持每个记录,还是有更好的方法来做到这一点?每个应用程序可能会同时拥有数千条记录。
是的我在考虑让交易长时间保持开放状态。所有访问数据库的应用程序都是服务器端。只有少数这些应用程序可供多达数千个客户端使用。记录的所有权只会在服务器应用程序之间很少迁移。只有在多个服务器应用程序试图同时访问相同记录的错误情况下。由于这些条件,我希望我可以使用事务来实现悲观并发。但是,关于SQL服务器的贪婪锁定的警告听起来像是一个主要问题。 – Ergwun 2010-06-21 02:43:54
@Ergwun:你在使用SQL Server 2008吗? – 2010-06-21 03:18:41
是的,目前,但我希望让我的应用程序独立于数据提供者。谢谢。 – Ergwun 2010-06-21 04:02:43