Вставьте BLOB через sql script?
У меня есть база данных H2 (http://www.h2database.com), и я хотел бы вставить файл в BLOB поле через простой простой sql script (например, для заполнения тестовой базы данных). Я знаю, как это сделать с помощью кода, но я не могу найти, как сделать сам sql script.
Я попытался передать путь, т.е.
INSERT INTO mytable (id,name,file) VALUES(1,'file.xml',/my/local/path/file.xml);
но это не удается.
Внутри кода (например, java) легко создать объект File и передать его, но непосредственно из sql script, я застрял...
Любая идея?
Дэвид
Ответы
Ответ 1
Для тестирования вы можете вставить литерал hex bytes или использовать RAWTOHEX(string)
, как показано ниже.
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'));
Ответ 2
Не h2database, но может помочь; http://jerrytech.blogspot.com/2009/03/tsql-to-insert-imageblog.html