我已創建SSIS包從Excel LODA數據到數據庫中。我的問題是那些用密碼保護的excel文件(我知道密碼)在我手動刪除密碼的那一刻。有什麼方法可以在ssis中自動化,因爲我有200個excel文件。SSIS用Excel表
0
A
回答
1
這可能會或可能無法正常工作根據貴公司的安全策略(或其監控),但你可以寫打開所有200個文件,並在一個臨時的「無保護」目錄保存他們沒有密碼的快速宏。然後運行您的SSIS腳本,並完成時,刪除所有200個文件(與安全缺失者如Eraser)
Sub ManagePWords()
Dim f(1 To 200) As Variant
Dim i As Integer
Dim origpath As String, temppath As String
Dim wb As Excel.Workbook
origpath = "c:\where_files_are_now\"
temppath = "c:\where_files_are_now\unprotected\"
f(1) = Array("filename1", "password1")
f(2) = Array("filename2", "password2")
'keep going for all 200 files
For i = 1 To UBound(f)
Set wb = Application.Workbooks.Open(origpath & f(i)(0), , , , f(i)(1))
wb.SaveAs temppath & f(i)(0) & ".xlsx", , ""
wb.Close
Next i
End Sub
0
根據MSDN,「你不能連接到一個受密碼保護的Excel文件。」
http://msdn.microsoft.com/en-us/library/ms139836(v=sql.105).aspx
有可能是通過在那裏你讀出的excel表到CSV什麼要處理自定義腳本來訪問它的方式。或者也許成爲一個對象。但是,我還沒有找到任何幫助。
下面是從SQL Server中央一個論壇的帖子可能會有所幫助。它有一個PowerShell腳本樣本(需要登錄)
http://www.sqlservercentral.com/Forums/Topic885800-148-1.aspx
不管是什麼,我認爲你將不得不獲取數據進出受保護的Excel工作表,然後才能對其進行處理。
UPDATE: CozyRoc銷售連接管理器,可以讓你用密碼保護的Excel工作表的連接。
0
Vinnies答案給了我另一種思路 - 如果你會用什麼樣的Excel文件的apdater。
用excel(vba)打開受保護的文件很容易,然後,您可以將所有文件全部導入到該工作簿或創建它們的副本,這些副本不受保護,或者甚至可以將數據直接複製到ssis/sql-服務器。
然而,這將是我的建議。使用excel創建一個新的輸入數據源,然後使用任何來導入這個新數據。
相關問題
- 1. SSIS通過Excel表循環
- 2. Excel來源SSIS
- 3. SSIS - 數據庫表到Excel目標
- 4. SSIS + Excel Vs_needsnewmetadata錯誤
- 5. ssis從excel導出
- 6. SSIS不寫入Excel
- 7. SSIS的Excel RefreshAll()時
- 8. SSIS excel源不讀取excel工作簿表
- 9. 無法連接到Excel SSIS
- 10. SSIS包不能在Excel中
- 11. SSIS excel生成錯誤
- 12. SSIS的Excel連接挑戰
- 13. ssis ETL約會到Excel
- 14. Excel SSIS和SQL服務器
- 15. SSIS Excel目標與格式
- 16. SSIS Excel數據提取
- 17. SSIS完全忽略Excel列
- 18. SSIS從Excel加載問題
- 19. Excel文件並不在SSIS
- 20. SSIS Excel文件名日期?
- 21. 從Excel下載SSIS包裝
- 22. SSIS:截斷Excel目標
- 23. SSIS Excel目標空白
- 24. SSIS Excel連接憑證
- 25. 將Excel/XLS導入SSIS?
- 26. 使用SSIS覆蓋excel中的數據
- 27. 使用SSIS在Excel中清除數據
- 28. 使用SSIS將SQL導出到Excel(xlsx)?
- 29. Excel到使用SSIS的SQL Server
- 30. 在SSIS中使用Excel Interop的問題
能否請您給我一些更descreption,因爲我不知道如何編輯C#代碼... –
這是VBA代碼,而不是C#。在「開發人員」菜單下,單擊Visual Basic。用鼠標右鍵單擊當前工作簿,然後選擇插入...模塊。將上面的代碼粘貼到窗口中。您必須自定義您正在使用的文件路徑,文件名和密碼的代碼。如果您沒有「開發」菜單,看看這裏的幫助使其:http://www.techonthenet.com/excel/macros/visual_basic_editor2007.php – ExactaBox