使用 ms access 2007 和 ado 部署 delphi 2010 以进行数据库连接所需的文件

Posted

技术标签:

【中文标题】使用 ms access 2007 和 ado 部署 delphi 2010 以进行数据库连接所需的文件【英文标题】:files needed for deploying delphi 2010 with ms access 2007 and ado for database connection 【发布时间】:2010-09-22 03:22:38 【问题描述】:

我正在使用 delphi 2010 构建数据库应用程序,其中我使用的数据库是 ms access 2007 和 ado 作为连接....

然后,我使用 delphi 7 的 installshield express 进行部署.... 我在我的电脑上打开安装文件,没有问题..但是当我在客户端电脑上打开安装文件时,有一些错误......

让我感到困惑的是需要在部署的设置文件中添加哪些文件? 我已经在客户端安装了 mdac 2.8 sp1,但是还是不行……

我收到的错误消息是:[microsoft][ODBC MIcrosoft Access Driver] 一般错误无法打开注册表项临时(易失性)Ace DSN for process 0x16c8 thread 0x628 DBC 0x 3dc7eec

[micorsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序..

然后,当我尝试使用另一台客户端计算机时,我收到的错误消息是:[Microsoft][ODBC Microsoft Access Driver]'(Unknown)' is not a valid path。确保路径名拼写正确,并且您已连接到文件所在的服务器

在 001A26AC 的模块“module_name”.exe 中出现异常 EOle 异常

这就是我收到的所有错误消息...有什么线索吗?

【问题讨论】:

"但是当我在客户端计算机中打开安装文件时,出现了一些错误..."。我建议您最好添加正在发生的确切错误消息,否则我们不知道那里发生了什么。 “一些错误”没有告诉我们任何可以让您获得帮助的信​​息。编辑您的问题以添加您收到的特定错误消息。 (笑话)files needed for deploying delphi 2010 with ms access 2007:这很简单:您需要 Delphi 2010 安装 DVD 和 Ms Office 2007 安装 DVD。开个玩笑,你告诉我们安装程序给出了错误,所以这不是 Delphi,也不是 Ms Access 问题。还是您的 EXE 发出了错误? 【参考方案1】:

您使用的是 ACCDB 格式文件吗?如果是这样,Windows 附带的 ADO 版本对该文件格式一无所知。您需要安装 2007 Office System Driver: Data Connectivity Components 我建议使用 MDB 格式文件,除非您使用 Access 2007 的某些特定功能,因为 ADO 对 MDB 格式了如指掌。

您是否需要在客户端系统上安装 MDAC 非常值得怀疑,只要它是 Windows XP SP3 或更新版本。 Windows XP SP2 安装了 MDAC 2.8 SP1。所以不要过多使用 ADO 版本。有关 ADO 在版本级别如何工作的一些信息,请参阅 I've never quite trusted ADO because … 该文章是从 Access 角度编写的,但应该为您提供有关 ADO 版本控制的一些有用信息。

【讨论】:

【参考方案2】:

也许您的应用程序中的 ADO 连接组件的 Active 属性设置为 true,或者在启动时设置为 true,但连接字符串在客户端计算机上无效,而不是在您的开发计算机上?在这种情况下,您会收到连接错误。

没有错误消息,如 jachguate 所说,很难判断,但根据您提供的信息,理论上您不需要任何额外的东西来部署它。

【讨论】:

【参考方案3】:

如前所述,没有更多信息,很难说。

请阅读并遵循Jon Skeetwriting a good question 上的建议。 这将增加您获得可行答案的机会...

连接到 Access 所需的三个基本条件:

数据访问层:您应该通过安装 MDAC 将其覆盖。 数据库本身:您可以从应用程序创建它,或者该数据库必须已经存在于目标计算机上。如果没有,您必须部署数据库文件。 与数据库的连接:您必须确保 ConnectionString 对目标计算机有效,并且在检查之前不要尝试连接或激活任何数据集。

【讨论】:

【参考方案4】:

现在可以了。

我按照 Tony 的建议安装了 2007 Office System Driver: Data Connectivity Components,然后我还在客户端计算机上将 midas.dll 添加到 system32。

【讨论】:

你到底要感谢谁?我们无法从上下文中知道哪个答案解决了您的问题。

以上是关于使用 ms access 2007 和 ado 部署 delphi 2010 以进行数据库连接所需的文件的主要内容,如果未能解决你的问题,请参考以下文章

MS Access/ADO AddNew 方法不附加记录

MS Access - ADO 记录集,使用 SQL 语句检索数据和建表

如何使用 MS Access 作为 ADO.NET 实体框架的提供者?

在 MS Access/VBA 中使用 ADO 连接对话框

MS Access ADO 记录集和二维数组

MS access 2007 使用组合框填充图片