繁体   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