ORACLE 从 url 读取文件
ORACLE read file from url
我有一个 url 下载一个 zip 文件,在这个里面有一个 csv 文件,我想读入 select 语句。
例子我有这个url:http://www.xyxy.com/test.zip
您 运行 这个 url 您的浏览器会立即下载一个 zip 文件,在这个文件中有一个包含 5 列的 csv 文件:姓名、姓氏、年龄、方向、phone
我想读取这个名为:directions_clients.csv 的 csv 文件,其中 select 语句只是发送 url 作为参数。
像这样:
Select * from getcsv(getzip('url'))
并显示 csv 文件中的每一列
知道如何从 url 读取 zip 文件并读取其中的 csv 文件吗?
此致
您使用的是 Oracle,因此我假设您可以使用 Application Express。没有的话就下载安装吧,厉害了
- 使用
apex_web_service
从 URL 获取 .zip 文件。
- 使用
apex_zip
. 将 .zip 文件解压缩为 BLOB
- 使用
dbms_lob.converttoclob
将 BLOB 转换为 CLOB。确保选择合适的字符集。
- 使用
apex_data_parser
. 将 CLOB 转换为数据行和列
你可以使用特殊的httpuritype object: https://docs.oracle.com/database/121/ARPLS/t_dburi.htm
我有一个 url 下载一个 zip 文件,在这个里面有一个 csv 文件,我想读入 select 语句。
例子我有这个url:http://www.xyxy.com/test.zip 您 运行 这个 url 您的浏览器会立即下载一个 zip 文件,在这个文件中有一个包含 5 列的 csv 文件:姓名、姓氏、年龄、方向、phone
我想读取这个名为:directions_clients.csv 的 csv 文件,其中 select 语句只是发送 url 作为参数。
像这样:
Select * from getcsv(getzip('url'))
并显示 csv 文件中的每一列
知道如何从 url 读取 zip 文件并读取其中的 csv 文件吗?
此致
您使用的是 Oracle,因此我假设您可以使用 Application Express。没有的话就下载安装吧,厉害了
- 使用
apex_web_service
从 URL 获取 .zip 文件。 - 使用
apex_zip
. 将 .zip 文件解压缩为 BLOB
- 使用
dbms_lob.converttoclob
将 BLOB 转换为 CLOB。确保选择合适的字符集。 - 使用
apex_data_parser
. 将 CLOB 转换为数据行和列
你可以使用特殊的httpuritype object: https://docs.oracle.com/database/121/ARPLS/t_dburi.htm