如果以管理员访问权限运行,为什么SQLite会返回不同的值?

时间:2013-10-26 22:12:39

标签: sqlite

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

我不知道如何复制此行为以向您显示而不提供实际数据库本身(我无法做到)。因此,非常感谢任何帮助我解决这个问题的想法。

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

1 个答案:

答案 0 :(得分: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