基于文件类型导出blob

p5cysglq  于 2021-08-09  发布在  Java
关注(0)|答案(0)|浏览(220)

我对一个oracle数据库有读访问权限,控制权最小。我正在尝试构建一个powershell(因为数据库在windows上)脚本,该脚本可以接受很少的参数,并根据blob的文件类型处理数据。现在我正在通过右键单击从sqldeveloper导出东西,然后基于这个从so保存它们。但是,对于数百个表来说,这样做需要很长时间。我不是甲骨文Maven。因此,尝试用sql(如果不是pl/sql)简单地实现这一点,它可以将blob列导出到本地windows驱动器,这样我的powershell脚本就可以根据我传递的参数将文件重命名为图像或文本。
这是我table的结构

CREATE TABLE JLR.RUNNERS 
(
  ENTITY_TYPE_ID VARCHAR2(32 CHAR) DEFAULT SYS_GUID() NOT NULL 
, NAME VARCHAR2(64 CHAR) NOT NULL 
, CAPTION VARCHAR2(64 CHAR) NOT NULL 
, RUNNER_ICON BLOB 
) ;

CREATE TABLE JLR.WINNERS 
(
  ENTITY_TYPE_ID VARCHAR2(32 CHAR) DEFAULT SYS_GUID() NOT NULL 
, NAME VARCHAR2(64 CHAR) NOT NULL 
, CAPTION VARCHAR2(64 CHAR) NOT NULL 
, WINNER_FILE CLOB
, WINNER_ICON BLOB 
);

对于上面的表,如果我将blob列作为参数传递,sql应该将每个记录作为单独的文件导出到我作为另一个参数传递的位置。如前所述,有些表可能有多个blob列,我应该能够用表的列名将它们提取到两个单独的子目录中(如果这个导出过程能告诉我文件的扩展名类型,那就太好了,因为可能有.docx、.xlsx、.pptx、.pdf等等。)
ps:除了sql和/或pl/sql之外,我不能使用任何其他工具来做这件事。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题