我正在尝试使用PLSQL将.xlsx文件中的内容打开,解析并保存到数据库。这可能吗 ?我将文件保存在服务器上,为该路径创建了对象,并为用户授予了权限rw。我应该使用PLSQL从XLSX转换为CSV吗?这可能还是有其他方法来处理XLSX文件?
到目前为止,我尝试的是this,但出现异常
ORA-22288:文件或LOB操作FILEOPEN失败
试图对我的对象授予权限,但仍然无法正常工作。
答案 0 :(得分:2)
假设您只想手动上传少量电子表格(而不是要求定期或大量自动上传),那么将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中运行它。