嗨,我在做一个迁移项目。前端是在vb6上开发的,后端服务是建立在C++ COM上的。目前,我们正在将系统迁移到.Net 4.5。
在我的实际代码中,前端模块和后端模块都使用ADODB来处理数据库。但是在这个迁移中,我们决定在前端SQLClient应用程序中使用VB.Net,后端仍然使用ADODB。
有谁能告诉我,如果我们在一个系统中同时使用ADODB和SQLCLient,是否存在任何问题。这会影响任何数据库操作(插入、删除、更新调用过程、触发等)。两者都在访问相同的架构。
谢谢
发布于 2013-05-28 05:22:48
OleDb更通用。如果您将来迁移到不同的数据库类型,那么很有可能它会有一个Ole驱动程序,并且您将不必更改那么多代码。
另一方面,Sql Server本机驱动程序应该像您所说的那样更快,并且它具有更好的参数支持(参数可以使用名称,而不必按顺序排列)。
ado库中存在一些限制,其中一些是已知的限制
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类。
有些功能部分支持或不支持。
希望它能帮上忙
https://stackoverflow.com/questions/16771283
复制相似问题