語境SSIS批量導入
我試圖創建一個SSIS包,以從Excel導入(Microsoft Excel工作表(.xlsx)格式)文件到SQL Server 2012的所有文件都有一個標籤具有相同的標籤名稱。
該過程在我指定單個文件時起作用。
當我嘗試使用For Each容器時,該過程失敗。
在每個文件枚舉我已經創建了一個變量[[email protected]]
錯誤
在Excel連接管理器的表情,我已經嘗試了以下值ConnectionString中:
> - @ [用戶:: ExcelFileName]
- 「Provider = Microsoft.Jet.OLEDB.4.0; Data Source =」+ @ [User :: ExcelFileName] +「; Extended Properties = Excel 8.0」
- 「Provider = Microsoft.ACE.OLEDB.12.0; Data Source =「+ @ [User :: Filename] +」;擴展屬性= \「Excel 12.0 \」;「
- 「提供者= Microsoft.ACE.OLEDB.12.0;數據源=」 + @ [用戶名::] + 「;擴展屬性= \」 Excel的12.0; HDR = YES \ 「;」
他們都失敗了。
這是錯誤消息:
錯誤在數據流任務[Excel源[1]]:SSIS錯誤代碼DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法調用連接管理器「Excel連接管理器」失敗,錯誤代碼爲0xC0202009。在此之前可能會發布錯誤消息,並提供更多關於爲什麼AcquireConnection方法調用失敗的信息。
數據流任務錯誤[SSIS.Pipeline]:組件「Excel源」(1)驗證失敗並返回錯誤代碼0xC020801C。
數據流任務錯誤[SSIS.Pipeline]:一個或多個組件驗證失敗。
數據流任務錯誤任務驗證期間出現錯誤。
包[連接管理器「Excel連接管理器」]錯誤:SSIS錯誤代碼DTS_E_OLEDBERROR。發生了OLE DB錯誤。錯誤代碼:0x80040E73。 OLE DB記錄可用。源:「Microsoft OLE DB服務組件」Hresult:0x80040E73描述:「初始化字符串的格式不符合OLE DB規範。」
有什麼建議嗎?
運行SSIS時是否打開Excel文件?當我忘記關閉時,我經常看到這個錯誤。 –
不,我沒有 - 文件已關閉。 – Ben
你可以得到一個Excel連接手動工作嗎?一旦你可以這樣做,你可以使用你的變量@ [User :: ExcelFileName]覆蓋連接的ServerName屬性。 Excel可能很難在SSIS中使用。我從來沒有設法得到一個xlsb的工作,只有xls和xlsx。此外,值得檢查程序包是否以32/64位模式運行(Project >><項目名稱>屬性調試> Run64BitRuntime應該等於FALSE)。 –