加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 现有的DAO代码是否适用于SQL Server?

发布时间:2021-03-22 13:24:38 所属栏目:编程 来源:网络整理
导读:假如我将数据从Access MDB传输到SQL Server,则VB应用措施中的DAO代码将对SQL Server起浸染. 我意识到必要变动初始毗连挪用,可是尚有什么必要改变吗? 办理要领 这里有许多题目. 假如您行使ADP作为SQL Server的前端,则不会行使DAO,由于您不能,由于ADP不行使Jet

假如我将数据从Access MDB传输到SQL Server,则VB应用措施中的DAO代码将对SQL Server起浸染.

我意识到必要变动初始毗连挪用,可是尚有什么必要改变吗?

办理要领

这里有许多题目.

>假如您行使ADP作为SQL Server的前端,则不会行使DAO,由于您不能,由于ADP不行使Jet / ACE.然后,您将与SQL Server成立直接ADO毗连.
>可是,在已往5年阁下的时刻里,MS一向在行使ODBC弃用ADP而支持MDB / ACCDB(某些陈诉方案除外). A2007和A2010中的ADP没有变革,这也许表白MS正打算完全放弃它们(正如他们在A2002和A2003没有变革后对DAP所做的那样).但也也许是MS打算在下一版本的Access中规复ADP,由于Access团队一向在起劲寻求行使SQL Server的人的输入.
>行使保举的技能(MDB / ACCDB)和ODBC(以及也许是链接表),您行使的是Jet / ACE,逻辑数据接口是DAO,Jet / ACE的本机数据接口.

Jet / ACE在处理赏罚处事器数据库方面现实上很是智慧,但它确实会堕落,并且某些范例的查询缺乏履历,Access开拓职员也许会编写带有处事器数据库的机能猪(由于他们逼迫行使Jet / ACE)从处事器拉出整个表并在客户端事变站上完成全部事变 – 请参阅上面的@Philippe Grondier的谜底.

从MDB / ACCDB通过ODBC行使SQL Server的常用要领是实行行使绑定表单和整个九码的Access方法(没有什么差异,假如你计划的应用措施用于Jet / ACE后端),然后行使SQL变乱探查器确定哪些部门是机能瓶颈,应该从头构建,以便在处事器端举办恰当的处??理.

明智地行使ADO凡是是有原理的,由于ADO在某些方面做得很是精彩,DAO示意不佳或基础没有.

但根基思绪是行使与Jet / ACE后端沟通的要领,由于Jet / ACE正在打点与处事器的接口.这意味着您不必担忧Jet / ACE的SQL方言与处事器数据库方言之间的差别,由于Jet / ACE和ODBC完全消除了这些差别.

一些随机题目:

>对付DAO记录集,您必要添加dbSeeChanges选项.>全部表都有主键至关重要,不然您也许会有稀疏的屏幕更新.但你们全部的桌子都有PK,对吧?>我发此刻SQL Server的全部表中安排一个时刻戳字段是可取的,纵然我从未明晰行使它.这(与#2团结行使)确保革新尽也许高效(ODBC可以搜查时刻戳,而不是必要将全部客户端字段逐个与处事器端值举办较量).>假如你行使passthrough查询或ODBCDirect,你必要担忧处事器数据库的SQL方言,并保持Jet / ACE正在处理赏罚哪个SQL(并将其表明为后端方言),哪个直接举办随处事器.> Jet / ACE没有与bigint对应的数据范例,因此假如在SQL Server表中将其用作PK,则必要以非尺度方法处理赏罚它. MS常识库中有关于办理此题目的文章.>假如您行使ADO,请记着ADO行使Access挪用的“SQL 92兼容模式”,这意味着SQL Server通配符和派生表语法.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读