如何使用 PLSQL 打开、读取和存储 XLSX 文件的 DB 内容?
Posted
技术标签:
【中文标题】如何使用 PLSQL 打开、读取和存储 XLSX 文件的 DB 内容?【英文标题】:How to open, read and store to DB content of XLSX file with PLSQL? 【发布时间】:2018-09-04 08:27:23 【问题描述】:我正在尝试使用 PLSQL 打开、解析并将 .xlsx 文件中的内容保存到数据库。这可能吗 ?我在服务器上有我的文件,为该路径创建了对象,并为我的用户提供了权限 rw。我应该使用 PLSQL 从 XLSX 转换为 CSV 吗?这是可能的还是有其他方法来处理 XLSX 文件?
到目前为止我尝试的是this,但我得到了异常
ORA-22288: 文件或 LOB 操作 FILEOPEN 失败
试图授予我的对象的权限,但仍然无法正常工作。
【问题讨论】:
【参考方案1】:假设您只想手动上传少量电子表格(而不是需要定期或大量自动上传),那么将 excel 文件中的行插入数据库的最简单方法是向生成的表中添加一列作为 SQL 插入语句。
例如:
如果 Excel 工作表在 A
、B
和 C
列中包含数据以及标题行:
ROWS A B C
1 id value1 value2
2 1 23.0 Smith
3 2 42.7 O'Brien
4 3 59.6 Jones
然后在单元格D2
中放入:
="INSERT INTO table_name ("&A$1&","&B$1&","&C$1&") VALUES ("&A2&","&B2&",'"&SUBSTITUTE(C2,"'","''")&"');"
然后将公式复制并粘贴到D3-D4
中,使表格如下所示:
ROWS A B c D
1 id value1 value2
2 1 23.0 Smith INSERT INTO table_name (id,value1,value2) VALUES (1,23,'Smith');
3 2 42.7 O'Brien INSERT INTO table_name (id,value1,value2) VALUES (2,42.7,'O''Brien');
4 3 59.6 Jones INSERT INTO table_name (id,value1,value2) VALUES (3,59.6,'Jones');
最后,复制生成的 SQL 语句并在 SQL Plus 中运行。
【讨论】:
我明白你在说什么,但我没有 SQL Plus 或 Developer。 @AdiC.N.然后在任何 IDE 中运行这些 SQL 语句,以运行从问题链接到的 SQL 语句。如果您没有任何方法来运行 SQL 语句,那么我们给您的任何解决方案都将无法执行。以上是关于如何使用 PLSQL 打开、读取和存储 XLSX 文件的 DB 内容?的主要内容,如果未能解决你的问题,请参考以下文章