Insert BLOB data into SQLite database field using Matlab and SQL query. Any idea?
조회 수: 23 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Gareth Thomas
2017년 7월 22일
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
Seyed Mostafa Mousavi Kahaki
2018년 2월 6일
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
2023년 9월 15일
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Database Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!