0

如果我的二进制文件是从命令行启动的(在 Windows 7 中),它能够访问远程服务器的数据库,但是如果相同的二进制文件是由另一个二进制文件启动的,而另一个二进制文件是我制作的服务,则它无法访问该文件数据库。

我的服务作为本地系统运行。当我尝试将命令行更改为 SYSTEM 用户时,我的二进制文件也能够访问远程服务器的数据库。

4

1 回答 1

0

您的进程很可能会失败,因为它是从不同的用户上下文启动的。一个进程继承其父进程(启动它的那个)的用户上下文。这就是为什么它从命令行启动时成功,但从您的服务启动时失败的原因。您的服务可能在与 cmd.exe 不同(且更有限)的用户帐户下运行。

于 2012-07-04T13:10:28.703 回答