проблема с сохранением изображения в виде большого двоичного объекта в базе данных Oracle

#database #oracle #blob

#База данных #Oracle #большой двоичный объект

Вопрос:

Прежде всего, я новичок в системах баз данных. я пытаюсь сохранить изображение в своей базе данных (только для целей тестирования), однако я не могу этого сделать. Проблема в коде, который я использую. Не могли бы вы, пожалуйста, сказать мне, что не так со следующим кодом?

 Create DIRECTORY temp as 'c:temp';

DECLARE
  src_lob  BFILE := BFILENAME('temp', 'IMAGE.png');
  dest_lob BLOB;
BEGIN
  INSERT INTO lob_table VALUES(2, EMPTY_BLOB())
     RETURNING doc INTO dest_lob;

  DBMS_LOB.OPEN(src_lob, DBMS_LOB.LOB_READONLY);
  DBMS_LOB.LoadFromFile( DEST_LOB => dest_lob,
                         SRC_LOB  => src_lob,
                         AMOUNT   => DBMS_LOB.GETLENGTH(src_lob) );
  DBMS_LOB.CLOSE(src_lob);

  COMMIT;
END;
  

Когда я пытаюсь его запустить, у меня возникает следующая ошибка: ORA-00911: недопустимый символ

Что здесь не так?

Спасибо заранее.

Комментарии:

1. @cagcowboy Я не знаю, ORA-00911: недопустимый символ — единственное отображаемое сообщение об ошибке

Ответ №1:

Никогда этого не делал, поэтому я не уверен, но я думаю, что КАТАЛОГ должен быть на сервере, а не на клиенте.

(Я думаю, вы можете запускать SQL * Plus на сервере)

Комментарии:

1. сервер и клиент — это нормальная машина (мой компьютер)