I'm writing a program that access the FileMaker Server 14 Windows version via ODBC connection.
Suppose 'FieldBlob' is a container field. When I execute an SQL statement
INSERT INTO MyTalbe (FieldBlob) VALUES (?),
the binary data is stored in the container field as a binary data of type 'FILE'. Thus, I can recover the data with
SELECT GetAs( FieldBlob, 'FILE') FROM MyTable WHERE ...
So far, it's fine.
BUT, after having made an update like
UPDATE MyTalbe SET FieldBlob = ? WHERE ...
the type of the binary data stored in the container field becomes 'FQLx' now!!! So I have to use the SELECT statement like
SELECT GetAs( FieldBlob, 'FQLx') FROM MyTable WHERE ...
Actually, you won't be able to tell, by looking at the record, that the data has been updated or not after the first INSERT.
So you have to write the SELECT statement like
SELECT GetAs( FieldBlob, 'FILE'), GetAs( FieldBlob, 'FQLx') FROM MyTable WHERE ...
and use the second data when the first one turns out to be NULL.
Is this by design?
Why is the type 'FQLx' necessary? Can't you go solely with the 'FILE' type?