insertar un BLOB a través de un script SQL?
scripting h2 (2)
No h2database, pero puede ayudar; http://jerrytech.blogspot.com/2009/03/tsql-to-insert-imageblog.html
Tengo una base de datos H2 ( http://www.h2database.com ) y me gustaría insertar un archivo en un campo BLOB a través de un script de SQL simple (para llenar una base de datos de prueba, por ejemplo). Sé cómo hacerlo a través del código, pero no puedo encontrar la forma de hacer el script sql en sí.
Traté de pasar el camino, es decir
INSERT INTO mytable (id,name,file) VALUES(1,''file.xml'',/my/local/path/file.xml);
pero esto falla
Dentro del código (Java, por ejemplo), es fácil crear un objeto de archivo y pasarlo, pero directamente desde un script de SQL, me quedo ...
Alguna idea ?
David
Para realizar pruebas, puede insertar bytes hexadecimales literales o usar la función RAWTOHEX(string)
, como se muestra a continuación.
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
Anexo: para cargar los campos BLOB
de un archivo, FILE_READ(fileNameString)
puede ser una alternativa útil.
insert into a values(3, FILE_READ(''file.dat''));