gpt4 book ai didi

c# - 为什么我不能从 Windows 7 64 位中的 mdb 文件中检索数据?

转载 作者:可可西里 更新时间:2023-11-01 10:05:52 26 4
gpt4 key购买 nike

我最近买了一个软件,它使用一个 mdb 文件来存储数据。我不太喜欢该软件的报告和报表生成功能,所以我决定使用 VS 2008 的 C# 编写自己的报告程序。

所以我的程序 Access 的是我刚买的软件自带的mdb文件。我的开发环境是 Windows XP。我的部署环境是Windows 7 64位。在我的开发机器中,我可以很好地从 mdb 文件中检索记录,但是当我将程序部署到 Windows 7 64 位机器时,它无法从 mdb 文件中读取记录。不会抛出任何错误,只是无法获取该数据。

我还尝试在部署机器(Win 7 64 位)上安装 VS 2012,并在那里导入我的 VS2008 项目。同样的问题,无法从该 mdb 文件中获取记录(同样,不会引发任何错误)。

请帮忙?

编辑 1:我刚刚尝试使用购买的软件备份实用程序备份 mdb。我可以从备份的 mdb 中检索记录。我想知道该软件是否试图修改我对 mdb 文件的 Access 权限。

编辑 2:我不认为该软件试图修改我对 mdb 文件的 Access 权限,因为当部署到我的 xp 机器上时,我可以很好地 Access mdb 文件。

编辑 3:我开始怀疑这是 Windows 7 中的文件安全功能。

编辑 4:如果我复制 mdb 文件并 Access 复制的 mdb 文件,它返回 0 行。如果我使用该软件的备份实用程序对其进行备份,它会返回我期望的确切行。

最佳答案

问题是您遇到了 Windows 的安全功能。

程序不再允许更改程序文件目录下的文件,除非它们以提升的 Access 权限运行。

发生的是一个名为 Virtual Store 的特征启动并在您的用户配置文件下的其他地方创建文件的私有(private)(为您的用户)副本。

很可能该软件在用户配置文件下创建了一个空数据库文件,并且正在 Access 该文件。

您不能再将可写文件放置在程序文件中,该程序需要重新设计或安装在其他地方,例如在具有写入权限的用户配置文件下。

关于c# - 为什么我不能从 Windows 7 64 位中的 mdb 文件中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25928375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com