473,854 Members | 1,896 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

CLI0119E from "call sqlj_install_ja r()" in PHP

Test code:

$dbconn = odbc_connect($d bname, $username, $password);
$path = "C:\Temp\myJar. jar";
$statement = "CALL SQLJ.INSTALL_JA R('file://$path', 'myJarId')";
$result = odbc_exec($dbco nn, $statement);

Result:

PHP Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

It doesn't seem to matter what the URL is, even if it's not correct... the error never changes, so I presume it's dying before it even gets that far.

2005-11-25-11.09.14.856000-300 I21235H391 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
MESSAGE : CCI Error:
DATA #1 : Hexdump, 4 bytes
0x0012F86C : 4700 0000 G...

2005-11-25-11.09.14.856000-300 I21628H377 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
RETCODE : ZRC=0x8136001C=-2127167460=SQLZ _RC_NO_CONNECTI ON, SQLT_SQLJC
"No connection"

I gather from Dan's article that there are known issues calling SPs with OUT or INOUT parms from PHP, but this doesn't seem to be the case here.

Anyone recognize this? Any suggestions are appreciated.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
Nov 25 '05 #1
13 4817

"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:9Y******** *************** *******@rogers. com...
Test code:

$dbconn = odbc_connect($d bname, $username, $password);
$path = "C:\Temp\myJar. jar";
$statement = "CALL SQLJ.INSTALL_JA R('file://$path', 'myJarId')";
$result = odbc_exec($dbco nn, $statement);

Result:

PHP Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

It doesn't seem to matter what the URL is, even if it's not correct... the error never changes, so I presume it's dying before it even gets that far.

2005-11-25-11.09.14.856000-300 I21235H391 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
MESSAGE : CCI Error:
DATA #1 : Hexdump, 4 bytes
0x0012F86C : 4700 0000 G...

2005-11-25-11.09.14.856000-300 I21628H377 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
RETCODE : ZRC=0x8136001C=-2127167460=SQLZ _RC_NO_CONNECTI ON, SQLT_SQLJC
"No connection"

I gather from Dan's article that there are known issues calling SPs with OUT or INOUT parms from PHP, but this doesn't seem to be the case here.

Anyone recognize this? Any suggestions are appreciated.

I hate those CLIxxxx errors; they always seem to be extremely vague, like the one you're experiencing, and often don't suggest any path whatsoever to resolve them. I had a CLI0125E once that kept me hopping for hours; it eventually turned out to be something fairly simple like a version issue that was being masked by the CLI00125E.

Out of sympathy with your situation, I just did a bit of Googling on CLI0119E - both web and groups - and didn't find anything very promising.

One odd thing strikes me looking at your code though. I don't know PHP so maybe this makes perfect sense but I though jars only got installed for Java code? Why woulod PHP code need a jar installed?

Rhino
Nov 25 '05 #2
Hi, Rhino.

The PHP application is trying to catalog a java UDF that it will call later on.

FYI, I also tried using Dan Scott's 'ibm_db2' PHP extension,. and at his suggestion I added a print db2_stmt_errorm sg() call, which yielded:

PHP Warning: db2_execute(): Describe Param Failed in C:\temp\test-ibm_db2.php on line 22

Warning: db2_execute(): Describe Param Failed in C:\temp\test-ibm_db2.php on line 22
PHP Warning: db2_execute(): Binding Error in C:\temp\test-ibm_db2.php on line 22

Warning: db2_execute(): Binding Error in C:\temp\test-ibm_db2.php on line 22
[IBM][CLI Driver] CLI0150E Driver not capable. SQLSTATE=HYC00

So even his 'ibm_db2' driver has problems with it. Starting to smell like the problem is with CLI.

I'm able to run other SPs, so there's something specific about that SP in particular.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Rhino" <no************ ***********@nos pam.com> wrote in message news:HH******** ************@ne ws20.bellglobal .com...

"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:9Y******** *************** *******@rogers. com...
Test code:

$dbconn = odbc_connect($d bname, $username, $password);
$path = "C:\Temp\myJar. jar";
$statement = "CALL SQLJ.INSTALL_JA R('file://$path', 'myJarId')";
$result = odbc_exec($dbco nn, $statement);

Result:

PHP Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

It doesn't seem to matter what the URL is, even if it's not correct... the error never changes, so I presume it's dying before it even gets that far.

2005-11-25-11.09.14.856000-300 I21235H391 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
MESSAGE : CCI Error:
DATA #1 : Hexdump, 4 bytes
0x0012F86C : 4700 0000 G...

2005-11-25-11.09.14.856000-300 I21628H377 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
RETCODE : ZRC=0x8136001C=-2127167460=SQLZ _RC_NO_CONNECTI ON, SQLT_SQLJC
"No connection"

I gather from Dan's article that there are known issues calling SPs with OUT or INOUT parms from PHP, but this doesn't seem to be the case here.

Anyone recognize this? Any suggestions are appreciated.

I hate those CLIxxxx errors; they always seem to be extremely vague, like the one you're experiencing, and often don't suggest any path whatsoever to resolve them. I had a CLI0125E once that kept me hopping for hours; it eventually turned out to be something fairly simple like a version issue that was being masked by the CLI00125E.

Out of sympathy with your situation, I just did a bit of Googling on CLI0119E - both web and groups - and didn't find anything very promising.

One odd thing strikes me looking at your code though. I don't know PHP so maybe this makes perfect sense but I though jars only got installed for Java code? Why woulod PHP code need a jar installed?

Rhino
Nov 25 '05 #3
I just took the CLI sample program "dbconn.c" and added a call to 'sqlj.install_j ar()', and lo and behold... CLI0119E.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:kd******** ************@ro gers.com...
Hi, Rhino.

The PHP application is trying to catalog a java UDF that it will call later on.

FYI, I also tried using Dan Scott's 'ibm_db2' PHP extension,. and at his suggestion I added a print db2_stmt_errorm sg() call, which yielded:

PHP Warning: db2_execute(): Describe Param Failed in C:\temp\test-ibm_db2.php on line 22

Warning: db2_execute(): Describe Param Failed in C:\temp\test-ibm_db2.php on line 22
PHP Warning: db2_execute(): Binding Error in C:\temp\test-ibm_db2.php on line 22

Warning: db2_execute(): Binding Error in C:\temp\test-ibm_db2.php on line 22
[IBM][CLI Driver] CLI0150E Driver not capable. SQLSTATE=HYC00

So even his 'ibm_db2' driver has problems with it. Starting to smell like the problem is with CLI.

I'm able to run other SPs, so there's something specific about that SP in particular.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Rhino" <no************ ***********@nos pam.com> wrote in message news:HH******** ************@ne ws20.bellglobal .com...

"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:9Y******** *************** *******@rogers. com...
Test code:

$dbconn = odbc_connect($d bname, $username, $password);
$path = "C:\Temp\myJar. jar";
$statement = "CALL SQLJ.INSTALL_JA R('file://$path', 'myJarId')";
$result = odbc_exec($dbco nn, $statement);

Result:

PHP Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

It doesn't seem to matter what the URL is, even if it's not correct... the error never changes, so I presume it's dying before it even gets that far.

2005-11-25-11.09.14.856000-300 I21235H391 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
MESSAGE : CCI Error:
DATA #1 : Hexdump, 4 bytes
0x0012F86C : 4700 0000 G...

2005-11-25-11.09.14.856000-300 I21628H377 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
RETCODE : ZRC=0x8136001C=-2127167460=SQLZ _RC_NO_CONNECTI ON, SQLT_SQLJC
"No connection"

I gather from Dan's article that there are known issues calling SPs with OUT or INOUT parms from PHP, but this doesn't seem to be the case here.

Anyone recognize this? Any suggestions are appreciated.

I hate those CLIxxxx errors; they always seem to be extremely vague, like the one you're experiencing, and often don't suggest any path whatsoever to resolve them. I had a CLI0125E once that kept me hopping for hours; it eventually turned out to be something fairly simple like a version issue that was being masked by the CLI00125E.

Out of sympathy with your situation, I just did a bit of Googling on CLI0119E - both web and groups - and didn't find anything very promising.

One odd thing strikes me looking at your code though. I don't know PHP so maybe this makes perfect sense but I though jars only got installed for Java code? Why woulod PHP code need a jar installed?

Rhino
Nov 26 '05 #4
That sounds like nature's way of telling you that something is going wrong with the sqlj.install_ja r(). :-)
Just like my CLI0125E, CLI0119E is probably masking what is really wrong under the covers.

Does the error in your original program go away if you remove sqlj.install_ja r()?

You very likely have a very simple problem.

I wonder if it could be something as simple as a privilege issue? Does your ID have the CREATEIN privilege for the schema? Do you have SYSADM or DBADM? Or maybe the path you specified doesn't exist? Or maybe your jar name is misspelled?

Or maybe it is a syntax issue? When I do sqlj.install_ja r() commands in the Ant scripts that prepare my code, I use all forward slashes, not back slashes. For example:
call sqlj.install_ja r("file:///e:/eclipse/3.0.1/eclipse/workspace/Foo/jar/Convert_Java.ja r", "Convert_Java") ;

This works very well for me. I'm also using Windows (XP Professional).

Try that basic stuff and see what happens....

Rhino
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:iO******** ************@ro gers.com...
I just took the CLI sample program "dbconn.c" and added a call to 'sqlj.install_j ar()', and lo and behold... CLI0119E.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:kd******** ************@ro gers.com...
Hi, Rhino.

The PHP application is trying to catalog a java UDF that it will call later on.

FYI, I also tried using Dan Scott's 'ibm_db2' PHP extension,. and at his suggestion I added a print db2_stmt_errorm sg() call, which yielded:

PHP Warning: db2_execute(): Describe Param Failed in C:\temp\test-ibm_db2.php on line 22

Warning: db2_execute(): Describe Param Failed in C:\temp\test-ibm_db2.php on line 22
PHP Warning: db2_execute(): Binding Error in C:\temp\test-ibm_db2.php on line 22

Warning: db2_execute(): Binding Error in C:\temp\test-ibm_db2.php on line 22
[IBM][CLI Driver] CLI0150E Driver not capable. SQLSTATE=HYC00

So even his 'ibm_db2' driver has problems with it. Starting to smell like the problem is with CLI.

I'm able to run other SPs, so there's something specific about that SP in particular.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Rhino" <no************ ***********@nos pam.com> wrote in message news:HH******** ************@ne ws20.bellglobal .com...

"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:9Y******** *************** *******@rogers. com...
Test code:

$dbconn = odbc_connect($d bname, $username, $password);
$path = "C:\Temp\myJar. jar";
$statement = "CALL SQLJ.INSTALL_JA R('file://$path', 'myJarId')";
$result = odbc_exec($dbco nn, $statement);

Result:

PHP Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

Warning: odbc_exec(): SQL error: [IBM][CLI Driver] CLI0119E Unexpected system failure.
SQLSTATE=58004, SQL state 58004 in SQLExecDirect in C:\temp\CLI0119 E.php on line 17

It doesn't seem to matter what the URL is, even if it's not correct... the error never changes, so I presume it's dying before it even gets that far.

2005-11-25-11.09.14.856000-300 I21235H391 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
MESSAGE : CCI Error:
DATA #1 : Hexdump, 4 bytes
0x0012F86C : 4700 0000 G...

2005-11-25-11.09.14.856000-300 I21628H377 LEVEL: Info
PID : 1328 TID : 3168 PROC : php.exe
INSTANCE: DB2 NODE : 000
APPID : *LOCAL.DB2.0511 25160914
FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReceive, probe:30
RETCODE : ZRC=0x8136001C=-2127167460=SQLZ _RC_NO_CONNECTI ON, SQLT_SQLJC
"No connection"

I gather from Dan's article that there are known issues calling SPs with OUT or INOUT parms from PHP, but this doesn't seem to be the case here.

Anyone recognize this? Any suggestions are appreciated.

I hate those CLIxxxx errors; they always seem to be extremely vague, like the one you're experiencing, and often don't suggest any path whatsoever to resolve them. I had a CLI0125E once that kept me hopping for hours; it eventually turned out to be something fairly simple like a version issue that was being masked by the CLI00125E.

Out of sympathy with your situation, I just did a bit of Googling on CLI0119E - both web and groups - and didn't find anything very promising.

One odd thing strikes me looking at your code though. I don't know PHP so maybe this makes perfect sense but I though jars only got installed for Java code? Why woulod PHP code need a jar installed?

Rhino
Nov 27 '05 #5
I had suggested the forward slashes URL technique to Larry, but forgot
to mention the 'file:///' prefix. That's worth a try. Good suggestion
Rhino!

Dan

Nov 27 '05 #6
Would that it were that simple. ;-) My account has full admin privileges; I've tried backslashes, escaped backslashes, forward slashes, and using the 'file:///' prefix (actually I stumbled onto that one a few days ago... I thought the syntax called for two slashes, but three slashes worked (in CLP).

Something else weird... I tried adding a CALL to the SP in "dbconn.sqc ":

EXEC SQL CALL SQLJ.INSTALL_JA R('C:\\Temp\\my Jar.jar', 'myJarId');

... but the PREP fails:

SQL0440N No authorized routine named "SQLJ.INSTALL_J AR" of
type "PROCEDURE" having compatible arguments was found.

Again, everything works fine via CLP, so I'm still 99.44% sure this isn't a user error.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Dan Scott" <de*****@gmail. com> wrote in message news:11******** *************@g 49g2000cwa.goog legroups.com...
I had suggested the forward slashes URL technique to Larry, but forgot
to mention the 'file:///' prefix. That's worth a try. Good suggestion
Rhino!

Dan

Nov 27 '05 #7
I still have a gut feel that the problem is something fairly mundane, like the command syntax or the permissions you have but if you've tried everything that I suggested and still can't make it work, I'm not sure what else to suggest at the moment. I'll come back if I think of anything....

Unfortunately, your experience is mirroring my own in working with stored procedures: when things work, life is good but when things don't work, it can be _very_ hard to figure out what is going wrong. The CLIxxxx messages are particularly cryptic and virtually useless; if I had it in my power, those would get significant reworking so that they actually say a lot more than "something' s broken".

As for the failure of sqlj.install_ja r to work inside your C program, that doesn't really surprise me. I always do my sqlj.install_ja r() commands on the command line or in an Ant script; I really don't know if they _should_ work inside the program itself....

Hmm, I just did a search on sqlj.install_ja r in the Information Center and came up with this interesting fact, which I'd never noticed before (probably because I learned how to write stored procedures in V7.x):
---
Note:
When invoked from applications, the stored procedures sqlj.install_ja r and sqlj.remove_jar have an additional parameter. It is an integer value that dictates the use of the deployment descriptor in the specified JAR file. At present, the deployment parameter is not supported, and any invocation specifying a nonzero value will be rejected.
---
Apparently, it _is_ okay to invoke sqlj.install_ja r from within a program. Unfortunately, it is not particularly clear how to do so. Presumably, this extra parameter is the third parameter and needs to be zero. Why don't you try adding a third parameter with a value of zero in your call to sqlj.install_ja r() and see if it compiles? Perhaps the solution is that simple!

Rhino
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:nu******** *************** *******@rogers. com...
Would that it were that simple. ;-) My account has full admin privileges; I've tried backslashes, escaped backslashes, forward slashes, and using the 'file:///' prefix (actually I stumbled onto that one a few days ago... I thought the syntax called for two slashes, but three slashes worked (in CLP).

Something else weird... I tried adding a CALL to the SP in "dbconn.sqc ":

EXEC SQL CALL SQLJ.INSTALL_JA R('C:\\Temp\\my Jar.jar', 'myJarId');

... but the PREP fails:

SQL0440N No authorized routine named "SQLJ.INSTALL_J AR" of
type "PROCEDURE" having compatible arguments was found.

Again, everything works fine via CLP, so I'm still 99.44% sure this isn't a user error.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Dan Scott" <de*****@gmail. com> wrote in message news:11******** *************@g 49g2000cwa.goog legroups.com...
I had suggested the forward slashes URL technique to Larry, but forgot
to mention the 'file:///' prefix. That's worth a try. Good suggestion
Rhino!

Dan

Nov 29 '05 #8
Thanks Rhino, but it still doesn't work in PHP or CLI.

At Dan's suggestion I switched from ODBC to his 'ibm_db2' PHP extension, and used 'db2_stmt_error msg()' to get more info. It returns "CLI0150E Driver not capable. SQLSTATE=HYC00" .

C:\temp>db2 ? CLI0150E
CLI0150E Driver not capable.

Explanation:

The operation is valid but not supported by either the driver or
the data source.

User Response:

Specify a valid operation.

I think I'm snookered. My app is currently getting round this by invoking CLP, but there must be a better way.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Rhino" <no************ ***********@nos pam.com> wrote in message news:a9******** ***********@new s20.bellglobal. com...
I still have a gut feel that the problem is something fairly mundane, like the command syntax or the permissions you have but if you've tried everything that I suggested and still can't make it work, I'm not sure what else to suggest at the moment. I'll come back if I think of anything....

Unfortunately, your experience is mirroring my own in working with stored procedures: when things work, life is good but when things don't work, it can be _very_ hard to figure out what is going wrong. The CLIxxxx messages are particularly cryptic and virtually useless; if I had it in my power, those would get significant reworking so that they actually say a lot more than "something' s broken".

As for the failure of sqlj.install_ja r to work inside your C program, that doesn't really surprise me. I always do my sqlj.install_ja r() commands on the command line or in an Ant script; I really don't know if they _should_ work inside the program itself....

Hmm, I just did a search on sqlj.install_ja r in the Information Center and came up with this interesting fact, which I'd never noticed before (probably because I learned how to write stored procedures in V7.x):
---
Note:
When invoked from applications, the stored procedures sqlj.install_ja r and sqlj.remove_jar have an additional parameter. It is an integer value that dictates the use of the deployment descriptor in the specified JAR file. At present, the deployment parameter is not supported, and any invocation specifying a nonzero value will be rejected.
---
Apparently, it _is_ okay to invoke sqlj.install_ja r from within a program. Unfortunately, it is not particularly clear how to do so. Presumably, this extra parameter is the third parameter and needs to be zero. Why don't you try adding a third parameter with a value of zero in your call to sqlj.install_ja r() and see if it compiles? Perhaps the solution is that simple!

Rhino
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:nu******** *************** *******@rogers. com...
Would that it were that simple. ;-) My account has full admin privileges; I've tried backslashes, escaped backslashes, forward slashes, and using the 'file:///' prefix (actually I stumbled onto that one a few days ago... I thought the syntax called for two slashes, but three slashes worked (in CLP).

Something else weird... I tried adding a CALL to the SP in "dbconn.sqc ":

EXEC SQL CALL SQLJ.INSTALL_JA R('C:\\Temp\\my Jar.jar', 'myJarId');

... but the PREP fails:

SQL0440N No authorized routine named "SQLJ.INSTALL_J AR" of
type "PROCEDURE" having compatible arguments was found.

Again, everything works fine via CLP, so I'm still 99.44% sure this isn't a user error.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Dan Scott" <de*****@gmail. com> wrote in message news:11******** *************@g 49g2000cwa.goog legroups.com...
I had suggested the forward slashes URL technique to Larry, but forgot
to mention the 'file:///' prefix. That's worth a try. Good suggestion
Rhino!

Dan

Nov 29 '05 #9
I've got to believe that _someone_ out there - or in the Toronto lab! - has figured out how to make php and DB2 play nicely together. Finding that someone would appear to be the big challenge. Maybe you should post this question to the best php forums you can find and try to get some satisfaction that way....

Then again, maybe you need to wait until the next version of DB2 and/or php. Perhaps the interoperabilit y between the two is just emerging and needs to mature a bit before it works as seamlessly as it should. That's a total guess, by the way, since I've never used php and have no idea how long DB2 has been supporting it.

Or, you could just do the sqlj.install_ja r() and similar steps in scripts/Ant instead of directly within the program. But then I suppose you are trying to compose examples that illustrate that you _can_ prepare the stored procedure from within the program....

Hmmm, one crazy thought just came to me. Is it possible that the CLI0119E occurs because the jar is already there and you are trying to overlay it with each subsequent execution? Maybe you just need to change sqlj.install_ja r() to sqlj.replace_ja r() and all your problems will go away??

Rhino
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:pd******** ************@ro gers.com...
Thanks Rhino, but it still doesn't work in PHP or CLI.

At Dan's suggestion I switched from ODBC to his 'ibm_db2' PHP extension, and used 'db2_stmt_error msg()' to get more info. It returns "CLI0150E Driver not capable. SQLSTATE=HYC00" .

C:\temp>db2 ? CLI0150E
CLI0150E Driver not capable.

Explanation:

The operation is valid but not supported by either the driver or
the data source.

User Response:

Specify a valid operation.

I think I'm snookered. My app is currently getting round this by invoking CLP, but there must be a better way.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Rhino" <no************ ***********@nos pam.com> wrote in message news:a9******** ***********@new s20.bellglobal. com...
I still have a gut feel that the problem is something fairly mundane, like the command syntax or the permissions you have but if you've tried everything that I suggested and still can't make it work, I'm not sure what else to suggest at the moment. I'll come back if I think of anything....

Unfortunately, your experience is mirroring my own in working with stored procedures: when things work, life is good but when things don't work, it can be _very_ hard to figure out what is going wrong. The CLIxxxx messages are particularly cryptic and virtually useless; if I had it in my power, those would get significant reworking so that they actually say a lot more than "something' s broken".

As for the failure of sqlj.install_ja r to work inside your C program, that doesn't really surprise me. I always do my sqlj.install_ja r() commands on the command line or in an Ant script; I really don't know if they _should_ work inside the program itself....

Hmm, I just did a search on sqlj.install_ja r in the Information Center and came up with this interesting fact, which I'd never noticed before (probably because I learned how to write stored procedures in V7.x):
---
Note:
When invoked from applications, the stored procedures sqlj.install_ja r and sqlj.remove_jar have an additional parameter. It is an integer value that dictates the use of the deployment descriptor in the specified JAR file. At present, the deployment parameter is not supported, and any invocation specifying a nonzero value will be rejected.
---
Apparently, it _is_ okay to invoke sqlj.install_ja r from within a program. Unfortunately, it is not particularly clear how to do so. Presumably, this extra parameter is the third parameter and needs to be zero. Why don't you try adding a third parameter with a value of zero in your call to sqlj.install_ja r() and see if it compiles? Perhaps the solution is that simple!

Rhino
"Larry Menard" <ro**@GoSpamYou rself.com> wrote in message news:nu******** *************** *******@rogers. com...
Would that it were that simple. ;-) My account has full admin privileges; I've tried backslashes, escaped backslashes, forward slashes, and using the 'file:///' prefix (actually I stumbled onto that one a few days ago... I thought the syntax called for two slashes, but three slashes worked (in CLP).

Something else weird... I tried adding a CALL to the SP in "dbconn.sqc ":

EXEC SQL CALL SQLJ.INSTALL_JA R('C:\\Temp\\my Jar.jar', 'myJarId');

... but the PREP fails:

SQL0440N No authorized routine named "SQLJ.INSTALL_J AR" of
type "PROCEDURE" having compatible arguments was found.

Again, everything works fine via CLP, so I'm still 99.44% sure this isn't a user error.

--
--------------------
Larry Menard
"Defender of Geese and of All Things Natural"
"Dan Scott" <de*****@gmail. com> wrote in message news:11******** *************@g 49g2000cwa.goog legroups.com...
I had suggested the forward slashes URL technique to Larry, but forgot
to mention the 'file:///' prefix. That's worth a try. Good suggestion
Rhino!

Dan

Nov 29 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
46971
by: ¤ Alias | last post by:
I have a function named getID3info (lvwDiscInfo.SelectedItem). What is the difference between getID3info (lvwDiscInfo.SelectedItem) and Call getID3info(lvwDiscInfo.SelectedItem) ?
2
3772
by: Sylwia | last post by:
Hi! I need your help... I have the following problem. I've implemented the python Windows Service which behaves like a log supervisor. If the space used by log files is bigger than a given upper limit, then it starts to delete log files until the space is less than a given
7
1662
by: William Morris | last post by:
So, what's the prevailing opinion regarding the use of the "CALL" keyword? I'm working with a third-party ASP application, adapting for our system, and the CALL keyword is used everywhere. I've never used it, preferring instead to just type the procedure name and parameters so: myProcedure parm1, parm2 Any thoughts on call myProcedure(parm1, parm2)
15
2133
by: Steve Jorgensen | last post by:
I'm looking for coding style opinions. It looks to me like most VB/VBA coders use the command-style syntax for calling subs or functions being treated as subs in a particular context ... Foo "ABC", varDest Occasionally, I see code using the Call syntax instead. Call Foo("ABC", varDest)
10
2894
by: Thorsten Ottosen | last post by:
Hi, I'm trying to escape html before its saved in a database. I tried $text = htmlentities( $reader->value ); but that don't work for e.g. japanese characters.
2
2892
by: javelin | last post by:
I'm studying "Visual Basic Developer's Guid to ASP & IIS", and I am following instructions an pp 72-75. I am creating a WebClass, and enter code as instructed, and it all is entered correctly. When I try and run, I get the folowing error: "The call to Server.CreateObject failed while checking permissions. Access is denied to this object." I've not compiled this, but am following instructions to just run the
5
3354
by: Frederick Gotham | last post by:
If we have a simple class such as follows: #include <string> struct MyStruct { std::string member; MyStruct(unsigned const i) {
2
2895
by: r_ahimsa_m | last post by:
Hello, I am learning PHP5. I need to parse XML file and I found a solution in some book on PHP5 ("PHP5 Programming" by Rasmus Lerdors and others). Unfortunately I have two problems that I don't understand: Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of xml_set_object(). If you would like to enable call-time pass-by-reference, you can set...
3
5931
by: Imaginativeone | last post by:
XML <nodeAA>AA</nodeAA> <nodeBB>BB</nodeBB> <nodeCC> <From>12/05</From> <To>11/06</To> <Months>12</Months> <Amount>10.00</Amount> CC </nodeCC>
0
9750
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
11023
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10672
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10740
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9509
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7909
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5738
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
4147
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3181
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.