2010-03-03 40 views
3
 
         (Flat File Location) 
        Samba Share | Windows Share 
(SSIS)   _______________________________ 
       |    | 
XP 32bit  | Works  | Works 
       |    | 
2003 Serv 32bit | Works  | Works 
       |    | 
Vista 64bit  | ERROR  | Works 
       |    | 
Win 7 64bit  | ERROR  | Works 
       |    | 
2008 Serv 64bit | ERROR  | Works 

我創建的SSIS包在VS 2008中,將分析從共享文件夾中的平面文件,並把記錄到SQL Server D b。平面文件連接管理器顯示「有效的文件名必須選擇」

我最近在新工作站上安裝了Windows 7和VS 2008。當我從TFS導入的包並打開它,我得到的錯誤

Validation error. Parse and Import Catalog Flat File: MySSISPackage: The file name "\\shared\flatfile.txt" specified in the connection was not valid.

當我打開平面文件連接管理器編輯器,有一個錯誤,指出:

A valid file name must be selected

我可以瀏覽並從編輯器中選擇文件,但我無法更改任何屬性,或者由於此錯誤而離開「常規」選項卡。

如果我回到我的筆記本電腦(Windows XP),該軟件包是第一次創建,沒有錯誤。兩個工作站都在同一個域中,並且我使用相同的憑據進行登錄。

任何想法,爲什麼我會從一個工作站而不是另一個工作站收到此錯誤?


UPDATE: 如果我從正在運行的工作站.dtsx程序包並將其加載到SSIS在服務器上,我收到以下錯誤,當它試圖運行:

Error: The file name "\\shared\flatfile.txt" specified in the connection was not valid.

和...

Error: Connection "MySSISPackage" failed validation.

和...

Error: The file name property is not valid. The file name is a device or contains invalid characters.


更新2

一)我試圖從拉平面文件的共享文件夾是在Unix Samba共享。 b)如果我在任何64位平臺(Windows 7 64位,Vista 64位,Windows Server 2008)上使用SSIS訪問文件,則會出現錯誤「必須選擇有效的文件名」。

c)使用SSIS從32位環境(Windows XP 32位,Windows Server 2003 32位)訪問文件沒有問題。

d)如果將文件移動到Windows服務器上的共享文件夾,64位SSIS將識別該文件。

回答

1

我也有類似的問題。我所做的是在解決方案資源管理器中,我右鍵單擊項目名稱和選定的屬性。然後,我單擊調試,然後設置Run64BitRuntime屬性='False'。 Excel文件是32位的,所以運行SSIS和64位應用程序在這種情況下不起作用。

1

您是將它加載到工作站上的SQL Server,還是它是中央服務器?

如果在工作站上,SQL Server是否在兩臺機器上的相同帳戶下運行?新機器上的SQL服務可能在不同的帳戶下運行,因此無法訪問該文件。

+0

實際上,在Visual Studio中創建平面文件連接管理器時,我得到了「有效文件名必須被選中」。它在那個時候還沒有到達SQL Server。當試圖將在不同工作站上編譯的相同軟件包加載到SQL Server中時,我也會遇到其他錯誤(上面已更新)。 – Feckmore 2010-03-10 16:23:40

6

我們有同樣的問題。經過一段時間的搜索後,我們發現使用的帳戶可以訪問子目錄,但不能訪問共享。它看起來像你的帳戶需要有從最高目錄繼承的訪問權限。

如: \\服務器\共享\ foder \ subfold1 \ subfold2 \ FILE.CSV < ==我們需要訪問這裏 存取權限 「subfold2」 不繼承和賬戶沒得 訪問\\服務器\ share \

所以我們給了\\ server \ share \並修復了這個問題。

1

這聽起來像是連接到CIFS共享的問題。

在Windows 7 &服務器2008有幾個設置,我們必須改變,以允許SSIS服務帳戶連接到我們的環境中的CIFS共享。由於有些情況下所有步驟都不需要,我會一次嘗試這一步。

第1步: 管理工具 - >本地安全策略 - >安全設置 - >本地策略 - >安全選項 - >網絡安全:LAN Manager身份驗證級別 更改此值以:發送LM和NTLM - 使用NTLM2會議安全如果協商

步驟2: 禁用IP .6

第3步: 強制TCP/IP通過NetBIOS。

2

我找到了一個解決方案,只是將文件路徑更改爲可以更好地消化的文件路徑 - 名爲drive的工作。 例如: 文本文件位於\ server \ filepath \ filename.txt錯誤 我將文件複製到c:\ filepath \ filename.txt 並且它工作正常。

2

這裏還有另外一種可能性,同樣的問題我的解決方案是右鍵單擊連接管理器,然後選擇DelayValidation = True,而不是默認的false。我的痛點是使用SSIS配置來告訴文件在哪裏,而BIDS不喜歡網絡共享文件路徑。

1

我在運行訪問Windows 2008共享的作業中的SSIS包的SQL 2008 R2框中遇到了此問題。授予對共享和特定文件夾的訪問權限不起作用。我一直得到錯誤:

The file name property is not valid. The file name is a device or contains invalid characters.

花費太多時間在故障排除之後,我發現,重新啓動SQL Server代理固定的問題。

相關問題