2017-01-31 4 views
0

MySQL에 여러 개의 blob을 저장했습니다 (Linux에서 실행중인 5.7.16).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;'); 

을 ... 그리고 이것은 내가 블롭을 저장하는 방법입니다 :

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

답변

0

디버깅 curs.Data{1} 유형 int8의 것을 알 수있다.

사용

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