2017-01-31 10 views
0

У меня есть несколько blobs, хранящихся в MySQL (5.7.16, работает в Linux).Matlab развращает blob из MySQL?

Когда я извлекаю эти капли с помощью Matlab (2016b, MacOS, mysql-connector-java-5.1.40), некоторые байты повреждены, что делает исходный blob непригодным для использования.

attached picture содержит пример. Левый файл является поврежденным, сохраненным из Matlab. Право - это оригинал, сохраненный в MySQL Workbench.

Это, как я сделать подключение к базе данных:

conn = database('dbname','username','password','Vendor','MySQL','Server','localhost'); 

Это, как я сделать SQL-запрос:

curs = exec(conn, 'SELECT FileContent FROM Table WHERE Id = 1;'); 

... и это, как я сохранить блоб:

file = fopen(filename, 'wb'); 
fwrite(file, curs.Data{1}, 'uint8'); 

ответ

0

Debugging показывает, что curs.Data{1} имеет тип int8.

При сохранении Используйте

fwrite(file, curs.Data{1}, 'int8');