2010-05-25 85 views
1

我們有一個運行我們的一些任務的HPC節點。我的.net項目中有一個任務,它會啓動HPC節點上的bcp實用程序以及我已運行到9 Mb的查詢的輸出。BCP任務在執行時掛起

當HPC節點運行此任務時,查詢的輸出被轉儲到一個文件中,然後在轉儲大約5mb數據後,突然停止轉儲更多數據,並且這種情況一直髮生。 (請注意,這不是任何數據問題,因爲它每次都不會在特定行上崩潰)。這可能也可能不重要,但我將數據轉儲到具有足夠權限的不同服務器中。

我已經直接在hpc節點和其他comps上使用相同的查詢運行命令,並且它提供了正確的輸出。

我運行bcp命令如下:

VAR processInfo =新的ProcessStartInfo( 「的Bcp.exe」,參數) { RedirectStandardOutput =真, 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)時,它纔會失敗。

任何幫助,非常感謝。

P.S:我想補充bcp實用工具安裝在所有的HPC節點

回答

2

嗨這裏的問題是HPC節點無法bcp命令的輸出重定向到標準輸出。標準輸出在這種情況下具有最小值,在我們的表中,當行數超過50000時,標準輸出不再能夠重定向到標準輸出。在明確的時間間隔刷新標準輸出,你仍然可以重定向到標準輸出沒有任何問題

+0

謝謝C.龍你的答案也有幫助。 – Baz1nga 2010-07-13 05:08:31