gpt4 book ai didi

.net - 什么时候应该使用 Odbc、OleDb、SQLClient?有什么权衡取舍

转载 作者:太空狗 更新时间:2023-10-30 01:45:50 25 4
gpt4 key购买 nike

我从一个 SQLServer 数据库开始。所以我似乎应该使用 System.Data.SqlClient 命名空间。但是,我们有可能关闭我们的 SqlServer 数据库并转到 MySql 或 Oracle。出于这个原因,我提出了一套关于我们的 .Net 应用程序如何与数据库通信的标准,以便将来在需要时更容易迁移到不同的数据库系统。

标准如下:

  1. 尽可能使用 ORM(例如NHibernate)(没有 LINQ,因为它只是支持SqlServer,但是呢 Entity Framework 及其支持Oracle 和 MySql?)
  2. 如果 ORM 有点过分,则使用参数化 SQL 查询。
  3. 仅将存储过程用于长时间运行或复杂的操作需要在数据库。

这让我想到了我的手头的主要问题。我应该使用哪个命名空间来编写我的 DAL?

在我看来,选择是在 System.Data.ODBCSystem.Data.OleDB 之间:

  • 权衡取舍是什么?
  • 一个比另一个更受欢迎吗?
  • 您对前 3 个标准有何看法?

最佳答案

系统.Data.SQLClient

仅连接到 SQL Server 2000 及更高版本,但连接到这些数据库时您将获得最佳性能。

System.Data.OledbClient

连接到 SQL 6.5

OLEDBClient 使您能够连接到其他数据库,如 ORACLE 或 Access。但是对于使用 SQL Server,您将使用 SQLClient 获得更好的性能。

注意:为了连接ORACLE,微软也有ORACLEClient。

System.Data.ODBCClient

仅使用 ODBC 驱动程序连接到遗留数据库。 (例如 MS Access 97。)

Original source

关于.net - 什么时候应该使用 Odbc、OleDb、SQLClient?有什么权衡取舍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/937083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com