Subject Re: [firebird-support] Passing a BLOB to a Stored Procedure in FIBPlus
Author Pavel Menshchikov
Hello Myles,

MW> I have a Picture (Delphi Tpicture object) that I am trying to save in
MW> Firebird 1.5. I use stored procedures for all calls to the database. I
MW> have created a stored procedure that is called as follows:

MW> SELECT * from PHOTO_SAVE_PRC(:PHOTO_ID, :PHOTO_IMAGE_BLOB);

MW> I'm not exactly sure of two things:

MW> 1. What BLOB sub type should I use when storing Delphi Tpicture objects to
MW> the database

Any integer number: standard subtype 0 for binaries (as Martijn
pointed), or a negative integer of your choice - then you may use that
value with "client-side" filters for BLOBs in FIB+ (which are used for
compressing/decompressing BLOBs transparently for example - refer to
FIB+ docs about "client-side" filters for BLOBs, also on the
conference session Serg mentioned about that).

MW> 2. What is the convention for saving & loading through a Stored Procedure
MW> to Delphi? I'm using FIBPlus to communicate with Firebird. Note that this
MW> is through a stored procedure, and not through any Data Aware components.

I suppose you may use streams: stuff like
yourSP.ParamByName('PHOTO_IMAGE_BLOB').LoadFromStream(...);


--
Best regards,
Pavel Menshchikov
http://www.ls-software.com