Process.Start运行应用程序给出ODBC错误

时间:2016-07-29 06:12:51

标签: c# service process odbc

我在.Net中创建了一个服务,该服务按照计划的时间执行另一个文件夹中的XYZ.exe,该数据库从数据库获取数据并使用ODBC DSN将数据写入文件。我已经在我的笔记本电脑(Win 7)上安装了该服务,它具有良好的NT AUTHORITY \ SYSTEM权限。当我在Win 8.1和Win 10上安装相同的服务时,该过程会执行,但XYZ.exe文件已创建但无法将数据写入文件,从而出现错误,因为' [Microsoft] [ODBC Drive Manager]数据源名称找不到,也没有指定默认驱动程序'。但是当我手动执行XYZ.exe时,它会成功运行并将数据写入文件中。我尝试过访问服务。 Process / Service使用NT AUTHORITY \ SYSTEM权限执行。以下是代码

    Process p = new Process();
    p.StartInfo.FileName = this.m_FilePath;
    p.StartInfo.WorkingDirectory = Path.GetDirectoryName(FilePath);
    p.StartInfo.Arguments = "";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.Verb = "runas";
    p.Start();
    p.WaitForExit();

执行XYZ.exe似乎是权限问题。我尝试了各种选择。

0 个答案:

没有答案