我有一个可在大多数Windows 7计算机上正常工作的VB6应用程序(即使启用了UAC),但对于其中一些程序,如果程序不是在启动时设置为'以管理员身份运行',它会在尝试查询数据库时返回错误消息'没有给出一个或多个必需参数的值'。仅在某些Windows 7计算机上出现一个或多个必需参数错误
我知道错误消息通常意味着表名和/或参数拼写错误。但是这不是这种情况,因为在Win XP和一些Win 7机器上执行相同的操作/查询调用的相同的应用程序没有问题。
该数据库是MS Access 2003格式。数据库与应用程序exe和dll一起位于Program Files目录中。
如果这是一个一致的错误,那么我可以很容易地调试它并继续前进,但由于我所有的测试机器都不会产生这个错误,所以我很茫然。
任何想法为什么发生这种情况,以及如何解决它?因为这个位置是保护和标准用户和管理员在启用UAC的系统,不能写它
谢谢, 克里斯
你已经提到过UAC。所以我想你已经检查过,这肯定不是[虚拟化的“程序文件”](http://support.microsoft.com/kb/927387)目录造成的? – MarkJ 2012-02-15 17:13:17
MarkJ我尝试阅读你的链接,但遇到了麻烦。我提到了UAC,因为当我将应用程序的属性设置为'以管理员身份运行'时,UAC在打开时提示用户,问题就消失了。 – 2012-02-15 19:47:18
HansUp我在我的开发环境中没有这个问题,或者我的任何测试机器在这个时候都不可能捕获查询。我正在致力于解决有此问题的机器。我不确定这是SQL语句的问题,因为它可以在很多其他计算机上使用相同的设置。 – 2012-02-15 19:50:05