论文部分内容阅读
摘 要: 本文就ADO.NET中的三种不同提供程序对SQLServer2000数据库进行了访问,分析了不同提供程序的执行效率。
关键词: ADO.NET 提供程序 SQL Server2000效率
1. ADO.NET及提供程序
ADO.NET是为Microsoft.NET编程人员提供数据访问服务的对象模型。对于任何一种数据访问模型,首先要完成的就是能够连接到数据源。.NET Framework提供了一种名为“数据提供程序”的机制。它是ADO.NET架构的核心组件,用于连接数据库、执行命令和取得结果。有Microsoft SQLServer.NET Framework数据提供程序、OLE DB.NET Framework数据提供程序、ODBC.NET Framework数据提供程序。
2.数据库
Microsoft SQL Server 2000是美国微软公司推出的使用相当广泛的数据库管理系统,包含一套图形工具,如服务器管理(用于启动和关闭数据库服务)、企业管理器(用于创建和修改数据库及备份数据库等)和查询分析器(用于交互执行Transact-SQL语句和过程并提供图形查询分析功能)等。它凭借着Windows操作系统先天支持的优越性,很快成为很多中小型管理软件开发的首选数据库。这也是笔者选择其作为ADO.NET访问数据源研究的原因。
3.测试不同.NET提供程序的访问效率
3.1创建测试项目
利用Microsoft Visual Studio 2005平台开发Windows项目。
3.2分别利用不同.NET提供程序创建连接
3.2.1Microsoft SQLServer.NET Framework数据提供程序。
using System.Data.SqlClient;
SqlConnection sqlcn=new SqlConnection();
3.2.2OLE DB.NET Framework数据提供程序。
using System.Data.OleDb;
OleDbConnection oledbcn=new OleDbConnection();
3.2.3ODBC.NET Framework数据提供程序。
using System.Data.Odbc;
OdbcConnection odbccn=new OdbcConnection();
3.3将SQL Server2000中的数据填充到数据集
选择完全相同的数据源(同一数据库中的同一张表),将其数据填充到数据集。
3.3.1创建数据集。
DataSet ds=new DataSet();
3.3.2创建不同提供程序的数据适配器。
SqlDataAdapter sqlda=new SqlDataAdapter();
OleDbDataAdapter oledbda=new OleDbDataAdapter();
OdbcDataAdapter odbcda=new OdbcDataAdapter();
3.3.3应用Fill()方法。
sqlda.Fill(ds,“xjb”);
oledbda.Fill(ds,“xjb”);
odbcda.Fill(ds,“xjb”);
3.4测试数据比较
整表数据填充(表中包含62个字段,12466条记录)
由上表测试数据可知:
Microsoft SQLServer.NET Framework数据提供程序所用平均时间:579.7毫秒。
OLEDB.NET Framework数据提供程序所用平均时间:1767.4毫秒。
ODBC.NET Framework数据提供程序所用平均时间:2496.1毫秒。
4.结论
ODBC.NET Framework数据提供程序所用平均时间>OLEDB.NET Framework数据提供程序所用平均时间>Microsoft SQLServer.NET Framework数据提供程序所用平均时间,可见,访问SQLServer2000数据库时,Microsoft SQLServer.NET Framework数据提供程序的开销时间最少,即效率最高。
5.结语
其实,.NET Framework的不同提供程序就是为访问不同类型数据库而设计的,开发人员应针对不同类型的数据库选用不同的.NET提供程序,以达到更高效的目的。但是很多开发人员只考虑代码的重用,而忽略了访问效率;或是测试数据过少,认为其差别不大,而不作选择。笔者通过在实际应用中测试出不同.NET提供程序在访问SQLServer2000效率的比较,认为在开发管理系统时,开发人员如选择SQLServer2000作数据库,应采用ADO.NET访问技术;要保障数据访问效率,则应选择Microsoft SQLServer.NET Framework数据提供程序。
参考文献:
[1]David Sceppa.ADO.NET2.0技术内幕[M].贾洪峰译.北京:清华大学出版社,2005.
[2]微软公司.数据库访问技术——ADO.NET2.0[M].北京:高等教育出版社,2007.
关键词: ADO.NET 提供程序 SQL Server2000效率
1. ADO.NET及提供程序
ADO.NET是为Microsoft.NET编程人员提供数据访问服务的对象模型。对于任何一种数据访问模型,首先要完成的就是能够连接到数据源。.NET Framework提供了一种名为“数据提供程序”的机制。它是ADO.NET架构的核心组件,用于连接数据库、执行命令和取得结果。有Microsoft SQLServer.NET Framework数据提供程序、OLE DB.NET Framework数据提供程序、ODBC.NET Framework数据提供程序。
2.数据库
Microsoft SQL Server 2000是美国微软公司推出的使用相当广泛的数据库管理系统,包含一套图形工具,如服务器管理(用于启动和关闭数据库服务)、企业管理器(用于创建和修改数据库及备份数据库等)和查询分析器(用于交互执行Transact-SQL语句和过程并提供图形查询分析功能)等。它凭借着Windows操作系统先天支持的优越性,很快成为很多中小型管理软件开发的首选数据库。这也是笔者选择其作为ADO.NET访问数据源研究的原因。
3.测试不同.NET提供程序的访问效率
3.1创建测试项目
利用Microsoft Visual Studio 2005平台开发Windows项目。
3.2分别利用不同.NET提供程序创建连接
3.2.1Microsoft SQLServer.NET Framework数据提供程序。
using System.Data.SqlClient;
SqlConnection sqlcn=new SqlConnection();
3.2.2OLE DB.NET Framework数据提供程序。
using System.Data.OleDb;
OleDbConnection oledbcn=new OleDbConnection();
3.2.3ODBC.NET Framework数据提供程序。
using System.Data.Odbc;
OdbcConnection odbccn=new OdbcConnection();
3.3将SQL Server2000中的数据填充到数据集
选择完全相同的数据源(同一数据库中的同一张表),将其数据填充到数据集。
3.3.1创建数据集。
DataSet ds=new DataSet();
3.3.2创建不同提供程序的数据适配器。
SqlDataAdapter sqlda=new SqlDataAdapter();
OleDbDataAdapter oledbda=new OleDbDataAdapter();
OdbcDataAdapter odbcda=new OdbcDataAdapter();
3.3.3应用Fill()方法。
sqlda.Fill(ds,“xjb”);
oledbda.Fill(ds,“xjb”);
odbcda.Fill(ds,“xjb”);
3.4测试数据比较
整表数据填充(表中包含62个字段,12466条记录)
由上表测试数据可知:
Microsoft SQLServer.NET Framework数据提供程序所用平均时间:579.7毫秒。
OLEDB.NET Framework数据提供程序所用平均时间:1767.4毫秒。
ODBC.NET Framework数据提供程序所用平均时间:2496.1毫秒。
4.结论
ODBC.NET Framework数据提供程序所用平均时间>OLEDB.NET Framework数据提供程序所用平均时间>Microsoft SQLServer.NET Framework数据提供程序所用平均时间,可见,访问SQLServer2000数据库时,Microsoft SQLServer.NET Framework数据提供程序的开销时间最少,即效率最高。
5.结语
其实,.NET Framework的不同提供程序就是为访问不同类型数据库而设计的,开发人员应针对不同类型的数据库选用不同的.NET提供程序,以达到更高效的目的。但是很多开发人员只考虑代码的重用,而忽略了访问效率;或是测试数据过少,认为其差别不大,而不作选择。笔者通过在实际应用中测试出不同.NET提供程序在访问SQLServer2000效率的比较,认为在开发管理系统时,开发人员如选择SQLServer2000作数据库,应采用ADO.NET访问技术;要保障数据访问效率,则应选择Microsoft SQLServer.NET Framework数据提供程序。
参考文献:
[1]David Sceppa.ADO.NET2.0技术内幕[M].贾洪峰译.北京:清华大学出版社,2005.
[2]微软公司.数据库访问技术——ADO.NET2.0[M].北京:高等教育出版社,2007.