簡體   English   中英

在Azure中將Excel文件導入到SQL Azure

[英]Import Excel files to SQL Azure, within Azure

我看過這樣的問題 (是Jet.OLEDB在64位的支持?)和 (需要預置MSSQL)在SSO,但我還沒有碰到適合我的解決方案來。

我在Azure VM中有一些Excel文件(xlsx),我想將所有這些文件推送到Azure中的SQL數據庫。 這將是一項重復性的任務(文件從源入庫並且必須推送到DB)-需要每天執行。

我正計划使用這種方法-

當前解決方案 -

自定義代碼 :.NET應用程序,它使用OpenXML SDK / NPOI / EPPlus讀取文件並將它們手動推送到SQL數據庫(使用.Net SQLBulkCopy)。 應用程序在VM中運行。

上述方法的問題是-它需要時間來編碼和測試具有不同架構的excel文件。 我正在尋找是否有其他選項可以避免自定義代碼。 請注意,這里沒有內部部署(因此我假設沒有SSIS,沒有BCP(?)等)。 這不是一次性遷移活動。

其他選擇?

1) 訪問數據庫引擎? :可以使用“ Access Database Engine”( 20102013嗎?)而不是openXML或其他工具來讀取excel文件? 在64位環境中,它似乎是Jet.OLEDB的替代產品。 但是我不確定是否也支持excel 2007格式,如果工作只是為了讀取excel文件(不創建,不進行操作),為什么還要選擇OpenXml SDK / NPOI / EPPlus?

2) Azure中的BCP? :BCP可以在天藍色內使用嗎? 對此不太確定。 如果是這樣, XLSX 轉換為CSV,然后使用BCP上傳到SQL數據庫是否有意義,從而使我必須編寫的代碼量最少?

3) ExcelDataReader? :如果可以選擇使用自定義代碼,那么可以跨平台(並且我不需要跨平台功能)並且同時支持XLS和XLSX的ExcelDataReader可以。 據說ExcelDataReader更快-但與使用OpenXML SDK或NPOI / EPPlus之類的工具讀取文件相比,它不確定有多快

贊賞社區的想法。

根據我的經驗,選擇2最為實用。 是否要使用ExcelDataReader之類的庫打開Excel文檔,還是要先以編程方式將文件轉換為CSV並作為分隔文件讀取,都取決於您的偏好/熟悉程度。 無論哪種方式,BCP都是使用自定義代碼將數據獲取到SQL數據庫的相對簡單的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM