【问题标题】:Insert Excel Spreadsheet into Oracle Table using SQL Statement使用 SQL 语句将 Excel 电子表格插入 Oracle 表
【发布时间】:2016-07-12 15:06:36
【问题描述】:

我知道有一种方法可以使用 SQL Developer 将 Excel 电子表格导入 Oracle。但是,我试图找出是否可以使用 SQL 查询语句将 Excel 电子表格导入 Oracle 表。我之前已经完成了从 Excel 到 MS Access 的这种类型的 SQL 查询,但我没有尝试从 Excel 到 Oracle 做同样的事情。

我用于从 Excel 转到 Access 的查询如下:

SELECT * INTO TABLENAME FROM ('Microsoft.Jet.OLEDB.4.0','Excel 12.0;IMEX=1;HDR=NO;DATABASE=EXCELPATH.xlsx', 'Select * from [EXCELSPREADSHEET$]');

【问题讨论】:

  • 使用OPENROWSET和OPENDATASOURCE,这种类型的查询,分布式查询,可以在SQL Server中工作。我怀疑甲骨文拥有这样的设施,毫无疑问是微软生态系统的一部分。
  • 我被 Oracle 困住了,所以没有办法用 SQL Server 做到这一点。不过谢谢
  • Oracle 和 SQL Server 是不同的 RDMS,DB2、MySQL 和 Postgre 也是如此。虽然它们都共享大部分 ANSI 语法,但它们的许多其他语法都是特定于它们的。考虑将 Excel 电子表格导出为 csv(一种通用行业类型),其中每个都有 csv 导入工具。

标签: sql excel oracle


【解决方案1】:

有办法,但并不容易。 你可以查看这个Read excel

新的 excel 文档以开放的 xml 标准保存。这意味着 xlsx 文件是一组 zipedd xml 文件。您可以将 exension 更改为 zip 并查看里面的内容。 您可以将单独的 xml 文档作为 xmltype 加载到 DB 中,并使用 xmlquery 来提取数据。

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • @diiN_ 这个问题没有简单的答案。文章只包含答案的基本部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多