首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无线HTA中的DAO与ADO

无线HTA中的DAO与ADO
EN

Stack Overflow用户
提问于 2009-05-24 17:06:54
回答 4查看 1.4K关注 0票数 2

我已经编写了一个小型(8-10台笔记本电脑)销售点系统,运行在无线网络上,作为一个HTA,对位于网络共享上的访问MDB进行读写。

我需要使用ADO - GetString和用户花名册是不可用的DAO。

我还需要使用DAO - MDB不能与ADO压缩。

我知道:

1)如果数据库后端不是Access MDB,我应该使用ADO。

2)如果后端是MDB,但我想在某个时候升级到SQL Server,我应该使用ADO。

3)在Access应用程序或任何其他VBA/VB应用程序中,我应该使用DAO,因为ADO必须通过Jet OLE DB提供程序的转换层,而DAO更直接。

4) VBScript/JScript允许我使用DAO或ADO。

问题分为两部分,内容如下:

1)在这种软件环境(HTA/脚本)中,使用ADO比使用DAO更好吗?

2)由于HTA通过无线网络进行读/写,ADO是否提供了任何好处?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-24 17:29:03

  1. 如果您需要DAO的唯一原因是压缩数据库,那么您可以使用DAO来实现这一目的,而将ADO用于其他所有事情。您不仅限于使用ADO或DAO。
  2. 使用ADO的最大好处是,当时机成熟时,将更容易地迁移到SQL Server Express。您应该尽早这样做,因为SQL Server Express提供了MSAccess数据库的所有优点而没有缺点。SQL Server Express是免费的,它可以很容易地处理您建议的系统大小。

Access数据库在多用户环境中很容易损坏,特别是在涉及无线网络时。如果您担心失去在MSAccess中工作的好处,您仍然可以使用链接表附加到SQL Server,并以这种方式使用SQL Server Express数据库。

票数 3
EN

Stack Overflow用户

发布于 2009-06-26 20:51:53

您还可以使用JRO压缩MDB文件。这将包含在任何最新版本的MDAC中,默认安装在XP和更高版本的系统上。无需安装Access。

要回答您的特定问题:

1)我选择ADO只是因为它更新,并且相同的API可以用于其他类型的脚本,如LDAP/ActiveDirectory访问、读取文件系统文件夹、读取MAPI邮件,以及处理其他类型的半结构化文本文件,如固定宽度文本和CSV。这对于HTA编程环境来说并不是特别好,但对于您来说,学习一个更广泛适用的API可能会更好。我也认为它是一个更容易使用的API,但我是从它开始的,后来才参与了一些较旧的DAO项目。

2) ADO提供的一个可能的好处是断开连接的记录集,这可能具有优势,或者至少为您的无线网络设置提供了一些体系结构替代方案。您可以打开一个记录集,然后断开它的连接,这样您仍然可以使用内存中的数据,但不必让数据库连接保持打开状态。然后,稍后您可以重新连接并更新数据库。此外,您还可以通过将表格作为本地XML或ADTG文件进行管理,以完全断开连接的样式工作。

票数 2
EN

Stack Overflow用户

发布于 2009-06-27 04:08:05

您可能会强迫DAO从VBScript工作,但这是一个奇怪的组合。一般来说,ADO是最有意义的。

ADO的另一个优点是它支持基于DCOM或HTTP的RDS。这可以用来克服通过文件共享使用的Jet MDB的许多限制,例如不可靠的网络和客户端可能导致的损坏。它还减少了网络上的流量,提高了性能。此外,它还提供了一个中间层,业务对象可以在其中“生存”,并且所有这一切都可以在适用的情况下使用COM+进行调解。

当然,您不再可以选择使用简单的P2P网络和文件共享来托管数据库。RDS需要一个服务器来托管进程并运行Jet引擎,而Jet引擎不再需要在每个客户端系统上运行。这意味着您可以使用在服务器上运行的Jet存储过程,从而卸载更多的客户端处理和网络流量。虽然不像T-SQL或其他替代技术那样复杂,但这种ADO/Jet 4.0 OLE DB Provider专用技术提供了使用DAO无法获得的实实在在的好处。

RDS可以屏蔽使用断开连接的记录集的大部分过程,从而简化客户端代码。它在幕后使用了ADTG,这是为此目的而开发和优化的。

然而,与简单的文件共享相比,使用RDS需要更多的基础设施和专业知识。您不妨研究一下SQL Server的低端版本。

一般来说,我建议使用jetcomp.exe实用程序来压缩和修复,而不是DAO或JRO。它提供了许多优点。

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

https://stackoverflow.com/questions/904203

复制
相关文章

相似问题

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