gpt4 book ai didi

vb.net - VB.net 中 ADODB 和 SqlClient 之间的主要区别是什么

转载 作者:行者123 更新时间:2023-12-01 15:40:39 25 4
gpt4 key购买 nike

嗨,我的任务是将使用 ADOOB 连接的旧程序转换为使用 SqlClient 连接。有什么区别?

最佳答案

OleDb 更通用。如果您将来迁移到不同的数据库类型,很有可能它会有一个 Ole 驱动程序,您将不必更改那么多代码。

另一方面,正如您所说,Sql Server native 驱动程序应该更快,并且它具有更好的参数支持(参数可以使用名称并且不必按顺序排列)。

ado 库中存在一些限制,以下是一些已知的限制

  1. 不支持分层记录集。

  2. 仅 Microsoft SQL Server 数据库支持服务器端游标(FO-RO 游标除外)。

  3. Recordset.Open 方法支持多个以分号分隔的 SQL 语句,但 Connection 和 Command 对象的 Execute 方法不支持。

  4. Oracle 数据库不支持参数化存储过程

  5. Connection 和 Recordset 对象的 Open 方法允许异步执行,但 Connection 和 Command 对象的 Execute 方法不允许异步执行。

  6. Recorset 对象的 UpdateBatch 方法要求 SQL 源语句包括所有相关表的关键字段,并且不适用于旧语法 JOIN 语句、嵌套 SELECT 语句和派生表。

  7. 用于打开服务器端键集和动态游标的 SELECT 语句必须至少包含一个不可为 null 的键列。

  8. Move 方法不起作用并引发服务器端动态游标异常。

  9. Recordset 类的 Index、Seek、MarshalOption、StayInSync 成员未实现并标记为已过时。

  10. Recordset 类的 PageSize、Clone 和 Find 成员没有为键集和其他服务器端游标实现。

  11. Command 类的 CommandStream、Dialect、NamedParameters 和 Prepared 成员未实现并标记为已过时。

  12. Stream 类的 ReadText、WriteText 和 SkipLines 方法未实现并标记为已过时。

  13. 不支持 Connection 或 Recordset 对象的一些动态属性。

  14. 不支持 ADODB.Record 类。

某些功能部分或不支持

希望对你有帮助

关于vb.net - VB.net 中 ADODB 和 SqlClient 之间的主要区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16784274/

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