【问题标题】:inserting 1000 image in oracle 11gr2 with blob data type using sql / sql developer使用 sql / sql developer 在 oracle 11gr2 中使用 blob 数据类型插入 1000 个图像
【发布时间】:2020-02-21 06:16:01
【问题描述】:

我正在尝试在我的硬盘驱动器的“E”分区上插入 1000 个图像 图片命名为 (img1.jpg, img2.jpg,.....)
这可以在循环中使用插入语句完成,计数器更改 img(counter).jpg


     begin
        for i in 1 .. 1000 loop

 "insert Statement"

        end loop;
        commit;
    end; 

【问题讨论】:

标签: database oracle image blob


【解决方案1】:

正如@thatjeffsmith 所建议的,一个更简单的选择是使用 sqlldr。您可以创建一个 .ctl 文件,如下所示

options (bindsize 10000)
load data
BADFILE 'E:\IMAGES\sqlldrbad1.bad'  
DISCARDFILE 'E:\IMAGES\sqlldrdiscard1.DIS' 
append
into table IMAGES
(
  image,
  table_name constant "IMAGES",
)

然后去加载数据

for %F in (E:\IMAGES\*.jpg) do sqlldr username/password@db control=contr.ctl data=%F

您也可以查看here的帖子

否则,您可以像引用 here 的示例一样使用 UTL_FILE

【讨论】:

  • 在我的情况下,我无法完全理解你,我在“E:\clone”中有名为 (img1.jpg , img2.jpg , .... ) 的图像,我想插入它到名为“jpg”的表中名为“photo”的 blob 列。
  • 您能否提供更多解释或来源,请
  • 我建议不要像你一直在尝试的那样编写插入语句,如果你可以像其他人建议的那样使用 sqlldr 将数据/图像加载到表中。我刚刚发布了一个 sqlldr .ctl 文件 sn-p。以及如何使用 .ctl 文件将所有图像文件从本地驱动器加载到数据库。
  • 另外,如果您可以查看我在回答中提供的链接,您可以更好地了解如何使用 sqlldr 或 UTL_FILE
  • 非常感谢您的努力,我会尝试并给您反馈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
  • 1970-01-01
  • 2015-04-11
  • 1970-01-01
  • 2017-05-01
  • 2015-09-17
相关资源
最近更新 更多