Subject Re: IB_Script Error in 4.8 build 4 and past version
Author jack_engleman
--- In IBObjects@yahoogroups.com, "Jason Wharton" <supportlist@...> wrote:
>
> Jack,
>
> > I am using databases that are Dialect 1 and I will change to Dialect 3
> > once my customers get into their off season in December and January.
> > I can run a command file using isql and not get any errors, but I
> > cannot use ib_script to execute the file because I get the below error
> > on all stored procedures that passes a numeric parameter as below.
> > I have a set SQL dialect 1 command in the front of all command files.
> > All other stored procedures without Numeric parameters are compiled
> > correctly in IB_Script.
> >
> > ALTER PROCEDURE UPBTURN (B VARCHAR(10), P NUMERIC(15, 2))
> > AS
> > BEGIN
> > UPDATE BARCODES
> > SET OUT = OUT + 1, EARNED = EARNED + :P
> > WHERE BARCODE = :B;
> > END
> > ISC ERROR CODE:335544569
> >
> > ISC ERROR MESSAGE:
> > Dynamic SQL Error
> > SQL error code = -817
> > Metadata update statement is not allowed by the current database SQL
> > dialect 1
> >
> > I believe that maybe the Numeric parameter is being passed as a
> > dialect 3 value, since the same stored procedures are handled
> > correctly by isql.
> >
> > If you need a sample program and database, I can send you one.
>
> A sample would be great. First, would you please flesh in the details a
> little more.
>
> Are you saying that even though the SQLDialect of the database is
set to 1
> that when running the script it is insisting on treating the
information as
> if it were SQLDialect 3? I don't know how or why it would do that.
>
> Perhaps you could show me what happens in the SQL trace monitor?
>
> Thanks,
> Jason
>

If I take these 400 stored procedures that I have and use 'isql -input
commandfilename.sql' I will get no errors on those 400 SP's. If I
read this file using IB_Script then I get the above errors only on
commands that have a NUMERIC(15, 2) as an input parameter. I then
isolated just that one command as a simple example that will fail in
IB_SCRIPT and will not fail in isql. I have been using this type of
stored proceedures for over 3 years on a 1.5.3 Firebird database.
Just recently in the last 4 months I have been trying to run this set
of procedures using ib_script so I can allow the customer to do a
oneclick download of a version update over the internet. All other
command files to create a database, to create triggers, to insert some
common data via insert commands, to delete procedures, etc. all work.

How do I get you a complete sample?