Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为windows桌面应用程序提供更好的数据访问组件_Sql Server_Winforms_Ms Access_Data Access Layer - Fatal编程技术网

Sql server 为windows桌面应用程序提供更好的数据访问组件

Sql server 为windows桌面应用程序提供更好的数据访问组件,sql-server,winforms,ms-access,data-access-layer,Sql Server,Winforms,Ms Access,Data Access Layer,对于桌面应用程序,哪一个是更好的数据访问组件?为什么 一,。对于MS Access 2007:ADO、OLEDB、DAO 二,。对于MSSQL 2005:ADO、OLEDB、DAO问问自己:我需要哪些数据访问功能,并根据这些功能选择您的图层。 MS Access是基于文件的数据存储,因此,如果您有多个用户使用您的应用程序,则Access是一个错误的选择。我会避开MSA,专注于新技术 MSSQL更好,因为它是可扩展的,支持多个并发用户,并且有额外的管理工具,如备份和报告服务。SQL 2005允许您

对于桌面应用程序,哪一个是更好的数据访问组件?为什么

一,。对于MS Access 2007:ADO、OLEDB、DAO


二,。对于MSSQL 2005:ADO、OLEDB、DAO

问问自己:我需要哪些数据访问功能,并根据这些功能选择您的图层。 MS Access是基于文件的数据存储,因此,如果您有多个用户使用您的应用程序,则Access是一个错误的选择。我会避开MSA,专注于新技术

MSSQL更好,因为它是可扩展的,支持多个并发用户,并且有额外的管理工具,如备份和报告服务。SQL 2005允许您在运行时附加数据库,非常适合单实例桌面应用程序


第三个DAC可能也适用于基于文件的解决方案或桌面应用程序。

DAO已经过时得令人绝望,它不支持您列出的引擎。OLEDB和ADO是互补的,OLEDB提供了dbase引擎接口,ADO是将在代码中用于编程dbase接口的类的集合。NET框架中的ADO.NET


对于访问,您将使用System.Data.OleDb命名空间中的类,您的连接字符串使用ACE提供程序。对于SQL,最好使用System.Data.SqlClient命名空间中的类。请访问connectionstrings.com以获取有关配置连接字符串的帮助。

至于他回答中的访问部分,我不同意Hans的观点


如果您使用的是Access,那么最好使用DAO或ADO。DAO是许多人的选择,因为它通常更容易,并且是MSAccess的本机数据访问模型。查看以进行更深入的讨论。

thnx。。。它帮了我很多选择正确的一个。。。我是从oledb开始的,因为我的access db.DAO并没有无可救药地过时——它正在作为Jet/ACE的本机数据接口层进行全面开发,Jet/ACE是用于access的数据库引擎。Jet是Access 2007的Access开发团队的分支,并更名为ACE,目前仍在广泛开发中。DAO正在相应地更新。DAO确实与Jet/ACE绑定,但这是访问大量数据的一种非常好的方式,因为Jet内置了很多智能。经典的ADO已经完全过时了,除了没有更好的替代方案外,任何人都不应该使用它做任何事情。我敢打赌,当你说Access完全能够处理多个用户时,实际上是指这个pita.Jet/ACE数据库引擎,尽管没有特别的努力,根据用户与数据的交互类型,用户数量将被限制为少于20-25个同时用户。请不要散布关于Access/Jet/ACE的错误信息。David我并没有说它不能处理多个用户,而是为了避免这一可能的蠕虫。运行一个基于Jet的40用户系统4年以上,比纸面上的任何规格都更能洞察内部。不要有偏见,向新技术敞开心扉:你说这对不止一个用户来说是个糟糕的选择,没有进一步的资格认证。这根本不是事实。这可能是一个不好的选择,但它往往是一个非常好的选择。事实上,我在一个错误的声明上给你打电话并没有使我有偏见。至于新技术,我总是在合适的时候使用它们。如果您想要新技术,请看一看使用Sharepoint 2010的Access 2010—在这里,真正令人兴奋的事情正在发生。