Hi all,
I'm trying to read a blob with help of a JDBC driver out of a Firebird SQL database. The normal SQL query are working as expected but as soon as I want to read blob, I get this kind of result: org.firebirdsql.jdbc.FBBlob@24027b42. The value after the "@" sign is changing after each try. I'm tried both, accessing the blob with help of the database explorer of the database toolbox and with a script. The result is very similar.
For me it looks like that the result is referring to any kind of address but I don't know how to access the data.
Any kind of help is appreciated. Thanks in advance.

댓글 수: 4

What is
class(the_blob_object_returned_by_your_query)
?
Rene Bilsing
Rene Bilsing 2019년 2월 11일
The class is of the data is a cell.
Name Size Bytes Class Attributes
rsdata 1x1 112 cell
Guillaume
Guillaume 2019년 2월 11일
편집: Guillaume 2019년 2월 11일
Ok then, what is the class of the content of that cell?
class(rsdata{1})
Rene Bilsing
Rene Bilsing 2019년 2월 11일
class(rsdata{1})
ans =
org.firebirdsql.jdbc.FBBlob

댓글을 달려면 로그인하십시오.

 채택된 답변

Guillaume
Guillaume 2019년 2월 11일

0 개 추천

So, what you're getting back is a java object of type org.firebirdsql.jdbc.FBBlob. You can use the methods of that object to get information about the blob and access the actual data. Most likely:
blobdata = rsdata{1}.getBytes(1, 0); %Get from 1st byte of length 0
I'm assuming that length 0 means everything, if not:
blobdata = rsdata{1}.getBytes(1, rsdata{1}.length()); %length is the length of the blob

추가 답변 (1개)

Rene Bilsing
Rene Bilsing 2019년 2월 11일

0 개 추천

Exactly what I was looking for. Thanks!

카테고리

제품

릴리스

R2017a

질문:

2019년 2월 11일

답변:

2019년 2월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by