首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADODB和SqlClient

ADODB和SqlClient
EN

Stack Overflow用户
提问于 2013-05-27 10:35:58
回答 1查看 676关注 0票数 1

嗨,我在做一个迁移项目。前端是在vb6上开发的,后端服务是建立在C++ COM上的。目前,我们正在将系统迁移到.Net 4.5。

在我的实际代码中,前端模块和后端模块都使用ADODB来处理数据库。但是在这个迁移中,我们决定在前端SQLClient应用程序中使用VB.Net,后端仍然使用ADODB。

有谁能告诉我,如果我们在一个系统中同时使用ADODB和SQLCLient,是否存在任何问题。这会影响任何数据库操作(插入、删除、更新调用过程、触发等)。两者都在访问相同的架构。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-05-28 05:22:48

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

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

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

  1. 不支持分层记录集。

2.服务器端游标( for游标除外)仅支持数据库。

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

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

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

6. Recorset对象的UpdateBatch方法要求source语句包含所有涉及到的表的关键字段,而不使用旧语法连接语句、嵌套SELECT语句和派生表。7.用于打开服务器端键集和动态游标的SELECT语句必须至少包含一个非空键列。

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

9.没有实现记录集类的索引、查找、MarshalOption、StayInSync成员,并将其标记为过时。

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

11.命令类的CommandStream、方言、NamedParameters和准备好的成员没有实现,并被标记为过时。

12.流类的ReadText、WriteText和SkipLines方法没有实现,并被标记为过时。

13.不支持连接或记录集对象的一些动态属性。

14.不支持ADODB.Record类。

有些功能部分支持或不支持。

希望它能帮上忙

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16771283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档