对比 | ADO | ADO.NET |
---|
1 数据表示 | 在 ADO 中,数据由 RecordSet 对象表示,该对象一次只能保存来自一个数据源的数据。 | 在 ADO.NET 中,数据由 DataSet 对象表示,该对象可以保存来自各种数据源的数据,对其进行集成,并且在组合所有数据之后,它可以将其写回一个或多个数据源。 |
2 数据读取 | 在 ADO 中,数据以顺序方式读取。 | 在 ADO.NET 中,数据以顺序或非顺序方式读取。 |
3 断开连接访问 | ADO 首先调用 OLE DB 提供程序。它支持连接访问,由数据库的 Connection 表示。 | 它使用标准化调用,例如 DataSetCommand 对象,与数据库和 OLE DB 提供程序进行通信。 |
4 创建游标 | 它只允许我们创建客户端游标。 | ADO.NET 可以创建客户端或服务器端游标。 |
5 锁定 | ADO 具有锁定功能。& | ADO.NET 中不使用此功能。 |
6 XML 集成 | ADO 中不使用此功能。 | ADO.NET 中使用此功能。 |
7 多表之间的关系 | 它需要 SQL Join 和 UNION 来组合来自多个表的数据到一个 RecordSet 中。 | 它使用 DataRelation 对象来组合来自多个表的数据,而无需使用 SQL Join 和 UNION。 |
8 转换 | ADO 需要将数据转换为接收系统支持的数据类型。 | ADO.NET 不需要浪费处理器时间的复杂转换。 |
9 数据存储 | 在 ADO 中,数据以二进制形式存储。 | 在 ADO.NET 中,数据以 XML 形式存储。通过使用 XML,它更容易存储数据。 |
10 防火墙 | 在 ADO 中,通常将防火墙配置为阻止系统级请求,例如 COM 封送处理。 | 在 ADO.NET 中,支持防火墙,因为 ADO.NET DataSet 对象使用 XML 来表示数据。 |
11 通信 | 在此,对象以二进制模式进行通信。 | 它使用 XML 进行通信。 |
12 可编程性 | 它使用 Connection 对象将命令传输到具有定义的数据构造的数据源。 | ADO.NET 不需要数据构造,因为它使用 XML 的强类型特征。 |
13 连接模型 | ADO 仅支持一种连接模型,即面向连接的数据访问架构模型。 | ADO.NET 支持两种连接模型,即面向连接的数据访问架构和断开连接的数据访问架构。 |
14. 环境 | ADO 针对两层架构。 | ADO.NET 解决多层架构。 |
15. 元数据 | 它在运行时根据元数据自动派生信息。 | 在 ADO.NET 中,在设计时根据元数据派生信息,以便提供更好的运行时性能。 |
16. 多事务 | 在 ADO 中,不能使用单个连接发送多个事务。 | 在 ADO.NET 中,可以使用单个连接发送多个事务。 |
17. 数据类型 | 它具有较少的数据类型。 | 它具有大量丰富的数据类型集合。 |
18. 序列化 | ADO 以专有协议序列化数据。 | ADO.NET 使用 XML 序列化数据。 |
19. 安全性 | ADO 的安全性较低。 | 与 ADO 相比,ADO.NET 安全得多。 |
20 基于 | ADO 基于组件对象建模。 | ADO.NET 是一个基于公共语言运行库的库。 |
21 可伸缩性 | ADO 技术的可伸缩性较差。 | ADO.NET 具有更高的可伸缩性,使用了锁定机制。 |
22. 资源 | 与 ADO.NET 相比,ADO 技术使用更多资源。 | ADO.NET 节省了有限的资源。 |
23. 性能 | ADO 的性能很差。 | 与 ADO 相比,ADO.NET 的性能要好得多。 |