2016-08-18 2 views
0

我正在嘗試創建一個簡單的SSIS包,該包可以部署到具有SSIS的另一個域(同一臺計算機)上的VM。如果我只是從源計算機上的SSDT運行數據流,但是我嘗試部署並執行它時,它創建的包將傳輸數據,但似乎有2個錯誤。第一個是它無法打開數據文件「C:\ SSIS \ Product Data.txt」。第二個是平面文件源1未能執行預執行階段。我認爲第二個錯誤是由第一個錯誤引起的。有誰知道如何創建一個可以在沒有平面文件源的情況下將數據傳輸到另一臺計算機的軟件包? 在此先感謝!平面文件源在部署和執行時失敗

回答

0

C:\ SSIS ....將引用執行程序包的計算機的本地C驅動器。因此,如果你在虛擬機上擁有它,它將位於\ VM \ C $。通常它意味着2件事中的1件。

1)文件路徑不正確,你沒有引用文件的實際位置。

2)您執行包的用戶沒有該文件的權限。

那麼你在執行SSIS包的機器的C驅動器上的文件在哪裏?這個問題的答案在你的問題中並不清楚。

第二步如何執行文件?手動執行,如DTS_Exec? SQL代理? T-SQL?如果手動,那麼登錄執行該任務的用戶必須具有權限,如果SQL Agent那麼sql代理服務帳戶和可能的sql服務器服務帳戶必須具有該文件的權限,並且T-sql sql server服務帳戶需要具有權限。

當它是本地文件路徑時,則本地用戶或域用戶將爲服務帳戶工作。如果網絡路徑,則用於服務帳戶的本地用戶將不起作用,您需要設置一種作爲不同憑據運行的方式。

+0

在處理完它之後,我認爲問題在於VM無法訪問該文件。 SSMS中的連接字符串就是源計算機上文件的路徑。我無法從正在執行的VM上的任何位置找到文件中的數據。我需要虛擬機能夠執行包,就好像它沒有連接到源代碼一樣。你知道一種通過部署發送文件的方法嗎?我相當確信這將解決我的問題。謝謝! –

+0

我不知道如何通過可能是谷歌的部署來實現它,它將取決於您使用的部署模型的類型(項目或包)。通過SSIS文件系統任務或腳本任務很容易將它從一個移動到另一個,但是你確實提到它們位於不同的域中,這使得它變得更加困難.... – Matt