2016-07-08 30 views
0

我已經使用CM.OutputLocation和CM.OutputScript參數在Cognos 8中設置了Content Manager。 Cognos正確保存報告輸出並將.xml規範報告給此目錄。Cognos CM-REQ-4290錯誤內容Manater未能執行腳本

我寫過一個批處理文件,它將處理Cognos報告文件和.xml文件。它將報告重命名爲其原始名稱並將其移至正確的文件夾中。該腳本從命令提示符運行良好。

我已經設置了CM.OutputScript以在報表完成時運行此腳本。但是,腳本不運行,並且出現錯誤:

134.64.2.100:9300 3372 2016-07-08 10:41:50.436 -6線程101 CM 6013 1 Audit.cms.CM警告CM -REQ-4290內容管理器無法在保存報告輸出時執行腳本「D:\ Program Files(x86)\ Apache Software Foundation \ Apache2.2 \ htdocs \ cognos_archive.bat」/ content/folder [@ name ='報告視圖'] /文件夾[@ name ='Test']/reportView [@ name ='測試許可帶寬每週CSV']/reportVersion [@ name ='2016-07-08T15:41:49.686Z']/output [ @ name ='2016-07-08T15:41:50.358Z']「到檔案。

這不是權限問題,因爲我已授予所有用戶運行腳本的權限。這不是腳本中的錯誤,因爲我用兩行「Hello World」腳本替換它,並且仍然出現相同的錯誤。如果我將腳本路徑複製到命令提示符窗口,它運行得很好。

+1

嗨布魯斯。我認爲該腳本存在於Content Manager計算機上的錯誤消息的路徑中。是這樣嗎?這看起來像是哪個機器試圖運行該腳本在指定的路徑中找不到它。我想知道您是否無法使用UNC網絡路徑來確保可以從此Cognos環境中的各個節點訪問它。 – aTotalStranger

+0

這是一個很好的建議,但它一開始並不奏效。不過,我在UNC路徑上用雙引號試了一下,它確實有效。 (我的路徑中有一些空格。)所以我用雙引號嘗試了我的原始路徑,並且它也正常工作。 –

回答

0

問題是我的路徑中有空格,而且正如我們對Windows命令所知,當在命令行中使用它時,必須用雙引號將其中包含空格的路徑括起來。我在我的路徑上放了雙引號:

"D:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\cognos_archive.bat" 

並且在報告生成後腳本被執行。這很混亂,因爲如果路徑中有空格,CM.OutputLocation參數不需要引號。