Insert BLOB data into SQLite database field using Matlab and SQL query. Any idea?
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I need to store binary data in single database field (DB is SQLite, it's important!). Binary data is a some one-dimensional array.One of the best way to do that is BLOB data insertion. As far as I know Matlab doesn't consist methods for BLOB data processing. How can I do that using Matlab environment? Maybe using raw SQL query?
0 comentarios
Respuestas (1)
Gareth Thomas
el 22 de Jul. de 2017
Say you have a MAT file, (which is binary) and you want to store that in the sqlite blob... one way to do this is:
% Read your mat as a binary
f = fopen('yourMATfile.mat');
k = fread(f);
fclose(f);
% convert k into char with
ablob = [char(k)];
% Connect to slite
conn = sqlite('YourtestDB.db');
% Insert ablob where ablob is your corresponding field
insert(conn,'TESTRESULTS',columnames, data);
% close sqlite
close(conn)
clear conn
% to Retrieve the data, do the fetch then simply do the inverse: Double, write to mat, and load it
2 comentarios
Seyed Mostafa Mousavi Kahaki
el 6 de Feb. de 2018
Thanks Gareth, would you please add the retrieve code to your answer. is there another way to insert the image without converting it to a char? for example in uint8 or 16 format
MASSIMO D'ANNA
el 15 de Sept. de 2023
Sorry if I answer to a such old thread, but it's exactly what I'm looking for. I just need help with writing the correct syntax for the Insert command. I have not much experience with matlab & sqlite, so I don't know how to correctly write the command to insert the converted blob inside my database.
Ver también
Categorías
Más información sobre Database Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!