2010-05-03 57 views
0

我有一個非常基本的SSIS包,它嘗試讀取共享上承載的文件,並將其內容導入數據庫表。當我在SSIS中手動運行它時,包運行良好。然而,當我成立了一個SQL代理作業,並嘗試執行它,我收到以下錯誤:SSIS DTS包平面文件錯誤 - 「連接中指定的文件名無效」

Executed as user: DOMAIN\UserName. Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: 10:14:17 AM Error: 2010-05-03 10:14:17.75 Code: 0xC001401E Source: DataImport Connection manager "Data File Local"
Description: The file name "\10.1.1.159\llpf\datafile.dat" specified in the connection was not valid. End Error Error: 2010-05-03 10:14:17.75 Code: 0xC001401D
Source: DataAnimalImport
Description: Connection "Data File Local" failed validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:14:17 AM Finished: 10:14:17 AM Elapsed: 0.594 seconds. The package execution failed. The step failed.

這使我相信這是一個權限問題,但每次嘗試我做了修復它失敗。

我試過到目前爲止:

  • 運行的SQL代理帳戶(域\ SQLAGENT) - 中得到同樣的錯誤。 DOMAIN \ SqlAgent對共享和上傳的文件都具有「完全控制」權限。

  • 使用不同帳戶的憑證(DOMAIN \ Account)設置代理帳戶 - 產生相同的錯誤。像上面一樣,「完全控制」權限被分配給該帳戶。

  • 給出「每個人」對該共享(臨時!)的完全控制權限。產生同樣的錯誤。

  • 手動將文件複製到本地路徑並使用SQL代理帳戶進行測試。正常工作。

  • 添加了一個ActiveX腳本任務,該任務首先將遠程託管的文件複製到本地路徑,然後讓DTS包引用本地文件。嘗試運行該腳本時,出現完全不具描述性(即使通過SSIS標準)錯誤。

  • 使用我自己的個人帳戶的憑據設置代理帳戶 - 工作正常。但是,這不是一個可以接受的解決方案,因爲我的帳戶上存在密碼策略,並且通常以這種方式設置密碼策略是一種不好的做法。

任何想法?我仍然相信這是一個權限問題。但是,我從各種搜索中讀取的或多或少的內容表明,對共享執行帳戶權限應該可行。但是,這裏並不是這種情況(除非我在設置共享權限時丟失了某些模糊內容)。

回答

0

糟糕。看起來我在文件夾上設置了權限,但不在共享上。一旦權限被放到共享上,就開始工作。我的錯。

2

根據您上次的測試,顯然這與權限有關,而您的帳戶擁有的權限與其他帳戶的權限之間存在差異。 包裝的保護等級是多少?

+0

它設置爲DontSaveSensitive。 – MisterZimbu 2010-05-03 17:14:13

0

我知道這個帖子是舊的,但我只是面臨同樣的問題 我認爲你們使用的是「sa」用戶,並且它對持有此軟件包的文件夾沒有特權,請嘗試使用Windows登錄SQL驗證,然後嘗試導入包。

爲我工作,希望它能爲你工作。