2016-11-29 50 views
0

我一直在使用SSIS讀取不同的文件 - 從CSV到XLSX - 不存在任何問題。我的路徑是相對的,所以SSIS從項目文件夾中搜索文件。根據我如何打開項目文件,SSIS文件路徑更改爲C: windows system32

那麼,今天我的同事試圖運行一個軟件包,他得到一個奇怪的錯誤消息,說該文件無法在「C:\ windows \ system32」文件夾下找到。沒有任何配置可以將SSIS指向該文件夾,並且與我和第三位同事一起工作良好。

經過一番調查後,我們發現問題與用戶本身無關,而與用戶如何打開項目無關。從一開始我就通過雙擊「.dtproj」文件來打開項目。我的同事首先打開SSIS開發界面,然後從菜單中打開項目文件。

有沒有人注意到這種行爲?這可能是什麼原因?

error message print

微軟的Visual Studio 2008 版本9.0.30729.4462 QFE 的Microsoft .NET Framework版本 3.5 SP1

安裝版:IDE標準

+0

是否有可能他們打開解決方案而不是項目(因此.user文件未被拾取)? – billinkc

+0

發生了! (我不能相信他仍然使用Windows資源管理器不推薦文件擴展名),但我們再次嘗試指向正確的文件,行爲是相同的。 –

+0

只需重複與我的用戶的過程,就是這樣。每當我從打開的菜單打開它的任務已經顯示錯誤圖標,它無法找到system32文件夾上的文件。雙擊項目文件每次都有效。 當然,找到原因並不急於找到原因,因爲它很容易分類,但我們仍然很好奇。 –

回答

0

這是因爲啓動方式的不同IDE以IDE進程的不同當前目錄結束。您可以通過創建只有一個腳本任務的包,用一條線測試:

MessageBox.Show(Environment.CurrentDirectory); 

然後啓動這兩種方法後運行這個項目。

雙擊項目或解決方案文件將包含該文件的文件夾設置爲當前目錄。 (我認爲這是啓動基於文件擴展名關聯的進程時的標準Windows進程啓動行爲。)當配置文件的路徑是相對的時,SSIS包將查找當前目錄

我們始終使用相對路徑來配置文件以簡化部署,並且必須始終記住通過雙擊SLN文件打開解決方案。

相關問題