我们有一个 HPC 节点,可以在其中运行我们的一些任务。我的 .net 项目中有一个任务,它在 HPC 节点上启动 bcp 实用程序,并且我运行的查询输出达到 9 Mb。
当 HPC 节点运行这个任务时,查询的输出被转储到一个文件中,然后在它转储大约 5mb 的数据后,它突然停止转储任何更多的数据,这种情况一直都在发生。(请注意,这不是任何数据问题,因为它不会每次都在特定行上崩溃)。这可能重要也可能不重要,但我将数据转储到具有足够权限集的不同服务器中。
我已经直接在 hpc 节点和其他 comps 上运行具有相同查询的命令,它给出了正确的输出。
我正在运行 bcp 命令,如下所示:
var processInfo = new ProcessStartInfo("bcp.exe", argument) { RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = true, UseShellExecute = false };
var proc = new Process { StartInfo = processInfo, EnableRaisingEvents = true };
proc.Exited += new EventHandler(bcp_log);
proc.Start();
proc.WaitForExit();
因此,我的代码实际上会等待每个 bcp 任务运行,因为我多次调用它。
仅供参考,再次提醒您,它仅在我的 o/p 超过一定字节数(在这种情况下约为 5mb)时才会失败。
任何帮助深表感谢。
PS:我想添加 bcp 实用程序安装在所有 hpc 节点上