2017-01-31 35 views
0

我有幾個blob存儲在MySQL(5.7.16,在Linux上運行)。Matlab破壞MySQL的blob?

當我用Matlab(2016b,MacOS,mysql-connector-java-5.1.40)檢索到這些blob時,一些字節被損壞,使原始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;'); 

...這是我如何保存BLOB:

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

回答

0

調試表明curs.Data{1}int8類型。

當保存使用

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