sql-server – 现有的DAO代码是否适用于SQL Server?
假如我将数据从Access MDB传输到SQL Server,则VB应用措施中的DAO代码将对SQL Server起浸染. 我意识到必要变动初始毗连挪用,可是尚有什么必要改变吗? 办理要领这里有许多题目.>假如您行使ADP作为SQL Server的前端,则不会行使DAO,由于您不能,由于ADP不行使Jet / ACE.然后,您将与SQL Server成立直接ADO毗连. 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通配符和派生表语法. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |