【问题标题】:How to insert a picture into BLOB column in Oracle table using INSERT syntax?如何使用 INSERT 语法将图片插入 Oracle 表中的 BLOB 列?
【发布时间】:2017-04-16 00:04:15
【问题描述】:

我有一个简单的表,我想在其中插入我机器上存在的图像。我想将图片插入到表的 BLOB 列中。只是想知道我该怎么做。我知道有一些与 BLOB 相关的现有解决方案,但没有一个通过使用 INSERT SYNTAX 直接帮助我。

CREATE TABLE test(id int,photo BLOB);

INSERT INTO test VALUES(1,'Path of the picture\filename');

【问题讨论】:

  • 那没有帮助...我已经检查了那个链接..
  • 简单插入有什么问题?您的代码没问题,除了photo 列值。插入 blob 值,而不是路径。

标签: sql oracle oracle11g sql-insert


【解决方案1】:

首先,创建一个目录来存储图像并授予用户读、写权限。然后就可以使用 BFILENAME 函数来插入图片了。

SQL> conn / as sysdba

SQL> create directory image_dir as '/home/oracle/Desktop/';

Directory created.

SQL> grant read, write on directory image_dir to jay;

Grant succeeded.

SQL> conn jay  
Enter password: 
Connected.
SQL> CREATE TABLE test(id number, image blob);

Table created.

现在,存储给定图像可以使用以下插入语句。

[oracle@myserver Desktop]$ ls -l | grep abc
-rw-r--r-- 1 oracle oinstall   269748 Apr 16 01:23 abc.png


SQL> INSERT INTO test VALUES(1,bfilename('IMAGE_DIR','abc.png'));

1 row created.

参考:BFILENAME

【讨论】:

    猜你喜欢
    • 2016-07-10
    • 2018-11-13
    • 2020-12-26
    • 1970-01-01
    • 2014-02-21
    • 2020-10-04
    • 1970-01-01
    • 2021-08-21
    • 2019-06-09
    相关资源
    最近更新 更多