вставить BLOB с помощью sql сценария?

У меня есть база данных H2 (http://www.h2database.com), и я хотел бы вставить файл в поле BLOB с помощью простого простого sql сценария (для заполнения тестовой базы данных, например). Я знаю, как сделать это с помощью кода, но я не могу найти, как сделать сам sql сценарий.

Я пытался передать путь, т.е.

INSERT INTO mytable (id,name,file) VALUES(1,'file.xml',/my/local/path/file.xml);

но это перестало работать.

В рамках кода (Java, например), легко создать объект Файла и передачу, что в, но непосредственно из sql сценария, я застреваю...

Какая-либо идея?

David

30
задан KM. 9 April 2010 в 14:01
поделиться

2 ответа

Для тестирования вы можете вставить литерал шестнадцатеричные байты или использовать функцию RAWTOHEX (строка) , как показано ниже.

create table a(id integer, item blob);
insert into a values(1,'54455354');
insert into a values(2, RAWTOHEX('Test'));
select UTF8TOSTRING(item) from a;
TEST
Test

Добавление: для загрузки полей BLOB из файла полезной альтернативой может быть FILE_READ (fileNameString) .

insert into a values(3, FILE_READ('file.dat'));
40
ответ дан 28 November 2019 в 00:06
поделиться

Не h2database, но может помочь; http://jerrytech.blogspot.com/2009/03/tsql-to-insert-imageblog.html

5
ответ дан 28 November 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: