VB.NET数据并发性具体处理方式

VB.NET语言和其他语言一样,同样需要在程序开发中进行一些异常处理,以保证程序的顺利运行。那么在这里大家就可以通过对VB.NET数据并发性的异常处理来对这一机制进行一个深入的了解。

ADO.NET为提高数据密集型(data-intensive)应用程序的性能、简化这类程序的建立过程提供了多种技术。数据集(DataSet)作为ADO.net对象模型的标志,作为一个微型的、不连接(disconnected)的数据源的副本提供服务。

虽然使用数据集通过减少对数据库服务器的高花费的访问而提高了性能,但是它也带来了多个用户试图同时访问相同数据的可能性,由此引起数据并发性异常(dataconcurrencyexception)。本文调查了数据并发性异常背后的通常起因,介绍了解决这些问题的技术。

把数据访问层升级到ADO.NET有很多好处,其中之一是使用内部数据集对象。数据集对象基本上是一个不连接的、内存中的数据库的拷贝。数据集对象包含一个或者多个数据表(DataTable),每个数据表一般对应于数据库中的一个表。

数据集提供了很多好处,但也带来一些问题,特别是可能遇到与VB.NET数据并发性异常相关的问题。我建立了一个简单的WindowsForms顾客服务应用程序,用它来解释该问题的潜在的缺陷。本文我将介绍该应用程序并演示怎样解决它所引起的VB.NET数据并发性问题。

本文建立的顾客服务应用程序示例是使用VisualBasic.NET和SQLServer2000建立的,但是由于微软.NET框架组件是语言无关(language-agnostic)的,因此任何与.NET框架组件兼容的语言都可以使用。同样,由于数据集对象抽象了数据源,数据源的实际执行并不重要;无论下层的数据源是SQLServer、本地XML文件或者从一个服务中检索到的数据,数据并发性异常同样会出现。

数据集的利弊

数据集提供了很多好处,例如比起数据库层次,它强化了内存中的完整性规则。数据集对象可以定义和强化表之间的关系和列的约束,确保使用的商业规则对数据库没有缺陷。通过数据库抽象,你能建立单个代码集合访问数据集对象而不必考虑填充该数据集的源数据。下层的数据源也许是SQLServer、Oracle甚至XML文件。无论下层数据源是什么,代码使用相同的方法与数据集交互。这使你能改变下层数据源而不改变代码。

但是使用数据集的最大好处是提高了性能。因为数据集与下层数据库断开,代码将更少作数据库的调用,显著地提高了性能。你能向数据集的多个数据表中添加新行、验证每行的有效性和参照完整性。数据适配器(DataAdapter)把数据集连接到下层数据库,能使用一条命令更新下层数据库。每个表中的所有新行都使用命令加入,以确保所有添加到数据库的行都是有效的。

相关推荐