On 7/3/07, Forder, Nick <Nic...@su...> wrote:
>
>
>
>
> After upgrading to V2.5 I can no longer create a stored procedure in
> DB2/400.
>
>
>
> I used to change the statement separator in the session properties to
> something other than ; and I could get by, by highlighting the text and
> running it.
>
> But sadly no longer. I get this sql exception suggesting malformed sql
> syntax when I terminate a stored procedure statement line with ;
>
> I guess this is result from fixing a bug in the DB2 LUW or Z/OS
> environments.
>
>
>
> Any suggestions from the OS/400 guys would be great I have made SQuirrel my
> shop standard and have loved it up to now.
Nick,
In 2.5 we introduced a framework to allow plugins to install a custom
QueryTokenizer (the class responsible for chopping up a selection in a
script into individual statements). This has been used in the Oracle
plugin and the SQLServer plugins (MS and Sybase) to enable them to
handle tokenizing procedural blocks into complete statements without
forcing the user to manipulate the statement separator. The DB2
plugin has not yet been updated to use this new framework, so I am at
a loss as to why there would be a change in behavior (the old behavior
was kept as the default when not overridden by a session plugin).
There are plans to update each of the plugins that don't yet use this
framework. Until then, you should still be able to use SQuirreL in
the manner that you did previously - at least that was our intent.
I'll run your sample procedure through the debugger and see if I can't
figure out why it isn't working, and get back to you if I find
anything. In the meantime, if you have any of the above plugins
installed, could you check there configuration panel in Global
Preferences and try turning off the custom tokenizer (should have no
effect but just in case a bug is causing a plugin to think that your
DB2 session is one that it should modify). Also, I suppose you are
not using ";" as the statement separator in session properties,
correct? ( if you are, then that would be a problem you can fix by
picking a different sequence of character(s) beside ";" that aren't
found in your procedure)
Rob
|