Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / DB2 Topics / December 2007

Tip: Looking for answers? Try searching our database.

Sinking Feeling

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
2803stan@gmail.com - 15 Dec 2007 01:09 GMT
I have a successful app which is used in a variety of client/server
situations. (DB2 8.x.)

I need to update it to have XML capability to interface with several
other external programs.  Therefore, I was happy to see that DB2 is
doing what I need with V9.x

I upgraded an experimental server to 9.5 and a client to same.  I'm
using UDB for LUW and the server is Windows Server 2003 and the client
is XP.  The programing language has been (to date) VisualBasic 6.

Now, suddenly, the Connection object takes about 100x longer to
connect, the Command object takes about 100x longer to collect the
parameters from a stored procedure, and the actual Execution takes
about 100x longer to get a recordset with return of an SQLSTATE to the
Command object!

In addition, there are many unpredictible cases when the application's
call to a SP cannot find it at all and returns a fatal error!

I have a SINKING FEELING that IBM has mandated more Java -- More slow,
clunky, error-prone Java.  Please, someone, tell me that this is not
so.

Or tell me that it IS so, so that I may do what I have to do . . .
Serge Rielau - 16 Dec 2007 01:26 GMT
> I have a SINKING FEELING that IBM has mandated more Java -- More slow,
> clunky, error-prone Java.  Please, someone, tell me that this is not
> so.
>
> Or tell me that it IS so, so that I may do what I have to do . . .
There is no Java on the server. So whatever it is it isn't that.
You symptoms are to generic (more like an aching belly ;-) to give sound
advice. Can you open a PMR?

Alternatively I propose to divide and conquer.
Connect from the CLP. Run some tests.
What happens if the connection is local? Etc, etc...

Cheers
Serge
Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

2803stan@gmail.com - 16 Dec 2007 14:02 GMT
Serge,

I wasn't thinking of Java on the server, but on the new client.  There
seems to be some disk-thrashing during all this (as I said, it takes
much, much longer than before for a connection.

1.  Local connection is fine, ie if client and server are on same box,
the Stored Procedure is executed and returns correctly.
2.  Remote CLP connections are fine.
3.  Direct SQL statements executed from the remote client are fine.
THEN,
4.  Calls to stored procedures from the new client (9.5 LUW) to the
new 9.5 server fail.  Here's what happens:  (Each of these is a step
in the code on the client:)
a)  The client Connection object (via the new ODBC, I think it's in
MDAC 2.8) makes a very slow connection with the server, with disk
thrashing.
b)  Uses Command object to contact the SP and pick up the number and
type of parameters (IN, OUT) via "Prepare Command" in code.
(Obviously can read the SP at this point.)
c)  Back at the Client, The Command object is loaded with the values
of the IN Parameters.
d)  This returns to the server for the SQL in the SP to run.
e)  At this point a "About to Execute (Succes)" Event occurs in the
Connection object which has a Satus of 1 (succes).

Finis.  Next message is the ODBC/system/SQL message that the SP code
is unavailable and the procedure has failed.  The Connection Object
has Status 2 (fail).  The Command remains with whatever parameters it
had; the Recordset is never opened.  (Follows an eg of return with
"VERIFY_USER," but same for any SP):

[IBM][CLI driver]SQL0444N   Routine "VERIFY_USER" (specific name
"SQL071201165900590") is implemented with code in library or path
"\VERIFY_USER", function "VERIFY_USER" which cannot be accessed.
Reason code "4".  SQLSTATE = 42724
Serge Rielau - 16 Dec 2007 23:52 GMT
> [IBM][CLI driver]SQL0444N   Routine "VERIFY_USER" (specific name
> "SQL071201165900590") is implemented with code in library or path
> "\VERIFY_USER", function "VERIFY_USER" which cannot be accessed.
> Reason code "4".  SQLSTATE = 42724
Is this UDF defined by you? Which language? Does the path make any
sense? (It looks dubious)
I'm wondering whether this has something to do with the search path...

Cheers
Serge
Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

2803stan@gmail.com - 17 Dec 2007 15:28 GMT
> 2803s...@gmail.com wrote:
> > [IBM][CLI driver]SQL0444N   Routine "VERIFY_USER" (specific name
[quoted text clipped - 12 lines]
> DB2 Solutions Development
> IBM Toronto Lab

Serge,

<<Is this UDF defined by you? Which language?>>

The stored procedure is defined by me and has been working fine for
many months.  Written in SQL.   Also tried other SPs that have been
working well and same thing.

<<Does the path make any sense? (It looks dubious) >>

I'm not sure what you mean by this.  All procs are written on the
client and sent to the server by using the CLP: DB2 CONNECT TO
MYDATABASE USER ME USING MYPASSWORD <ENTER>  (get connection message)
then
db2 -td@ -vf  "C:\ADDRESS\SP_MY_STORED_PROC.SQL"        where
SP_MY_STORED_PROC.SQL is the name of the local file containing the SQL
code for the SP.  (Returns success message).

I do not declare the address on the server.  All these procs have
worked fine for a long time.

Is there a way for me to check the search path, change a PATH
environmental variable, or do anything else to make the SP more
findable?  Remember that the Command successfully gets the number and
type of parameters before trying to execute the SQL query (which is
what fails).

SS

PS  The total SP looks like (Extra white space removed):
DROP SPECIFIC PROCEDURE "DATASHIELD"."VERIFY_USER"@
CREATE PROCEDURE "DATASHIELD"."VERIFY_USER" (
    IN    p_USER_ID    VARCHAR(18),
    IN    p_PASSWORD    VARCHAR(250),
    OUT    p_SQLSTATE    CHAR(5) )
    SPECIFIC "DATASHIELD"."VERIFY_USER"
    DYNAMIC RESULT SETS 1
    READS SQL DATA
    LANGUAGE SQL
P1: BEGIN
    DECLARE    SQLSTATE CHAR(5) DEFAULT '00000';
    DECLARE C1 CURSOR WITH RETURN FOR
        SELECT
            UNIQUE_ID,
            GROUP_ID,
            SIGNATURE,
            NAME_TO_SIGN
        FROM    DATASHIELD.USERS U
        WHERE    UCASE(U.USER_ID) = UCASE(p_USER_ID) AND U.PASSWORD =
p_PASSWORD;        DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING, NOT
FOUND
    SET p_SQLSTATE = SQLSTATE;
    VALUES (SQLSTATE) INTO p_SQLSTATE;
    OPEN C1;
END P1@
Serge Rielau - 17 Dec 2007 16:10 GMT
OK you should NEVER get a 444 from an SQL Procedure invocation.
Please open a PMR.

Cheers
Serge

Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

2803stan@gmail.com - 18 Dec 2007 00:59 GMT
> OK you should NEVER get a 444 from an SQL Procedure invocation.
> Please open a PMR.
[quoted text clipped - 6 lines]
> DB2 Solutions Development
> IBM Toronto Lab

My thoughts go like this:

I got the free version 9.5 as Express-C.  I could buy a license and
then submit a PMR.  Why should I pay $2300 (the cost of a license) for
the privilege of submitting a PMR?  I have already spent many hours,
which means many $.

I paid full fare for V8 WSE.  Why not revert to that version (with
highest fixpack) and wait until IBM figures out what's wrong and fixes
it?  Since I can't be the only one with this problem, why should I
alone pay IBM to fix its own problem?

I'm going to try one more thing:  a third-party ODBC driver.  If that
doesn't work then I'm back to V8.max and wait until I hear that IBM
has solved the problem.  I want the features advertised for V9.5, but
I can't afford to personally cause them to be  available.

SS
Mark A - 18 Dec 2007 01:14 GMT
> My thoughts go like this:
>
[quoted text clipped - 14 lines]
>
> SS

Is 9.5 GA yet? If not, the DB2 Express-C version should probably be
considered beta code. Even if it is GA, any problems with the free version
of DB2 Express-C version  should be reported on the DB2 Express-C forum (on
IBM website) and I suspect that the IBM people who run the forum will
forward that to development. It probably will not hurt to do some name
dropping when you post on that forum (Serge).
Serge Rielau - 18 Dec 2007 02:13 GMT
> Is 9.5 GA yet?
Hmpf!

> If not, the DB2 Express-C version should probably be
> considered beta code. Even if it is GA, any problems with the free version
> of DB2 Express-C version  should be reported on the DB2 Express-C forum (on
> IBM website) and I suspect that the IBM people who run the forum will
> forward that to development.
Yes. Express C has forum support.

Cheers
Serge
Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

2803stan@gmail.com - 18 Dec 2007 02:51 GMT
> > Is 9.5 GA yet?
>
[quoted text clipped - 14 lines]
> DB2 Solutions Development
> IBM Toronto Lab

Reply to Serge and Mark:

<<From Mark A. -- should be reported on the DB2 Express-C forum (on
IBM website) and I suspect that the IBM people who run the forum will
forward that to development. It probably will not hurt to do some
name
dropping when you post on that forum (Serge). >>
<<and answered from Serge:   Yes. Express C has forum support.>>

So who forwards this, and how does one get results?

C'mon guys, I'm nobody.  You're somebody.  Why are the somebodies not
doing something for the nobody?!?

SS
Mark A - 18 Dec 2007 02:59 GMT
> So who forwards this, and how does one get results?
>
> C'mon guys, I'm nobody.  You're somebody.  Why are the somebodies not
> doing something for the nobody?!?
>
> SS

I am nobody (customer) also, plus we don't own any V9 licenses.

Register on this forum and post your problem. Mention that Serge read your
original post on the comp.databases.ibm-db2 newsgroup and he told you to
open a PMR.
http://www.ibm.com/developerworks/forums/forum.jspa?forumID=805
Serge Rielau - 18 Dec 2007 16:47 GMT
>>> Is 9.5 GA yet?
>> Hmpf!
[quoted text clipped - 23 lines]
>
> So who forwards this, and how does one get results?
The forum is moderated by three guys just as (in) competent as I am:
Ryan, Ian and Raul.

> C'mon guys, I'm nobody.  You're somebody.  Why are the somebodies not
> doing something for the nobody?!?
Ryan, Ian, and Raul are the paid somebodies to help your nobodyness.

Cheers
Serge
Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

Mark A - 18 Dec 2007 02:52 GMT
> Hmpf!

Sorry, my DB2 databases process real-time credit card authorizations. I
don't keep up with brand new releases.
Mark A - 19 Dec 2007 05:08 GMT
"Mark A" <nobody@nowhere.com> wrote in message news:...
> Sorry, my DB2 databases process real-time credit card authorizations. I
> don't keep up with brand new releases.

I see the problem now. 9.5 was not issued as a fixpack to 9.1, as was the
case for 7.2 (fixpack 3 for 7.1) and 8.2 (fixpack 7 for 8.1). I was
expecting to see 9.5 as a V9.1 fixpack, so I assumed it was still beta.

I will be upgrading to V9 in about 14 months (after the 2008 shopping season
has concluded), so it looks like I will have to choose between V9.1 and 9.5
if they stay on a dual track.

My guess is that some in IBM were pushing for 9.5 to be released as 10.1,
but a decision was made to offer it for free to those with a V9 maintenance
contract, hence the 9.5 designation.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.