Subject | RE: [ib-support] invalid Blod ID error on Firebird |
---|---|
Author | Helen Borrie |
Post date | 2002-12-06T00:03:33Z |
At 05:08 PM 05-12-02 -0600, you wrote:
parameter of the type expected by the stored procedure.
You still haven't provided the declarations for the input parameters for
this SP. This is where you have to look.
Firebird differs from (advances from) IB 6 wrt blob inputs, insofar as it
will accept a string as input to a blob column. However, it hasn't changed
anything wrt to blob inputs, i.e. if you pass a blob in a blob parameter,
it will process it just as IB 6 did. So we are not looking at Firebird
doing something different with blobs than IB 6 did.
This line may be causing your problems on the application side:
ParamByName('iCallDetailMemo').AsBlob :=
CallLog.Lines.Text; -------------------Here is blob info
Try changing this to
ParamByName('iCallDetailMemo').AsString := CallLog.Lines.Text;
This should work properly regardless of whether the SP expects a blob or a
string as input.
I'd also go further and protect it from errors in null text with
if CallLog.Lines.Count > 0 then
ParamByName('iCallDetailMemo').AsString := CallLog.Lines.Text
else
ParamByName('iCallDetailMemo').Clear;
We're getting into the realm of "off-topic" for this list. I suspect the
crucial question here is still the input type that your SP expects.
heLen
>Helen,It won't be Firebird, per se, but that your application is not passing a
>thanks for reply - the following is the delphi procedure.
>This code is unchanged from code that worked with the
>Borland Open Source 1.0 release and as I said I am
>using IBX (Interbase Tab)
>
>So are you saying that the Firebird side is not accepting the
>.AsBlob
parameter of the type expected by the stored procedure.
You still haven't provided the declarations for the input parameters for
this SP. This is where you have to look.
Firebird differs from (advances from) IB 6 wrt blob inputs, insofar as it
will accept a string as input to a blob column. However, it hasn't changed
anything wrt to blob inputs, i.e. if you pass a blob in a blob parameter,
it will process it just as IB 6 did. So we are not looking at Firebird
doing something different with blobs than IB 6 did.
This line may be causing your problems on the application side:
ParamByName('iCallDetailMemo').AsBlob :=
CallLog.Lines.Text; -------------------Here is blob info
Try changing this to
ParamByName('iCallDetailMemo').AsString := CallLog.Lines.Text;
This should work properly regardless of whether the SP expects a blob or a
string as input.
I'd also go further and protect it from errors in null text with
if CallLog.Lines.Count > 0 then
ParamByName('iCallDetailMemo').AsString := CallLog.Lines.Text
else
ParamByName('iCallDetailMemo').Clear;
We're getting into the realm of "off-topic" for this list. I suspect the
crucial question here is still the input type that your SP expects.
heLen