3

当我使用查询运行作者网站提供的官方 SQLite 二进制文件时:SELECT DISTINCT f.id FROM foo f, bar b WHERE f.id=b.id AND b.type='baz'无论 sqlite 是以管理员身份运行还是正常运行,它都会返回不同的结果。如何/为什么会发生这种情况?

我不知道如何在不提供实际数据库本身的情况下复制此行为以向您展示(我不能这样做)。因此,任何帮助我解决这个问题的想法都将不胜感激。

编辑:查询SELECT name, rootpage FROM sqlite_master;也返回不同的结果:缺少行,页面索引也不同。

4

1 回答 1

2

(从评论移动)

这是由于自动文件夹重定向。如果不支持 Vista 的程序尝试使用非特权帐户写入 Program Files,Windows 会静默地将新文件重定向到用户特定的文件夹,以在不破坏旧应用程序的情况下强制执行安全设置。通常,您的应用程序不应写入 Program Files。

有关详细信息,请参阅http://blogs.windows.com/windows/archive/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx

于 2013-10-27T13:38:07.300 回答