ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Not able to call Oracle stored proc

Post new topic  Reply to topic
 Not able to call Oracle stored proc « View previous topic :: View next topic » 
Author Message
nhanks
PostPosted: Wed Apr 21, 2004 4:20 pm    Post subject: Not able to call Oracle stored proc Reply with quote

Novice

Joined: 18 Dec 2001
Posts: 13

I am having trouble calling simple Oracle Stored Proc.

from ESQL in Database Node
CALL MyProc('world');
CREATE PROCEDURE MyProc(IN in_var CHARACTER) EXTERNAL NAME MyProc;

Oracle sp looks like:
create or replace procedure MyProc(in_var in varchar2)
IS
test_var varchar2(5);
BEGIN
test_var :='hello';
END;

I am using the DataDirect driver for Oracle, have executed mqsisetdbparms correctly, and am logging in with the schema that the above proc is defined in.

Any help would be appreciated.

The following is my ExceptionList from Trace Node:
( WBRK_BROKER.WBIMB ) Error message 'DB Node Error: (
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbDataFlowNode.cpp'
(0x03000000):Line = 558
(0x03000000):Function = 'ImbDataFlowNode::createExceptionList'
(0x03000000):Type = 'ComIbmDatabaseNode'
(0x03000000):Name = 'TestFlow#FCMComposite_1_5'
(0x03000000):Label = 'TestFlow.APT_Database'
(0x03000000):Text = 'Node throwing exception'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x01000000):DatabaseException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbOdbc.cpp'
(0x03000000):Line = 181
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'Root SQL exception'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 2321
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '-1'
)
(0x01000000):DatabaseException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbOdbc.cpp'
(0x03000000):Line = 296
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'Child SQL exception'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 2322
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '28000'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1017'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '[DataDirect][ODBC Oracle driver][Oracle]ORA-0'
)
)
)
)
)
' from trace node 'TestFlow.Trace1'.

The trace node 'TestFlow.Trace1' has output the specified error message.

This is an error message provided by the message flow designer. The user response will be determined by the local environment.
Back to top
View user's profile Send private message
JT
PostPosted: Wed Apr 21, 2004 7:25 pm    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

What was the ORA-xxxxx native sqlcode that resulted from the call of your stored procedure?
Back to top
View user's profile Send private message
nhanks
PostPosted: Wed Apr 21, 2004 7:30 pm    Post subject: Reply with quote

Novice

Joined: 18 Dec 2001
Posts: 13

The best I can tell it was ORA-0, since that is what is one of the last lines in the ExceptionList ouput.
Back to top
View user's profile Send private message
JT
PostPosted: Thu Apr 22, 2004 5:36 am    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

Can you debug the flow or put on a debug trace to determine the native error sqlcode? "ORA-0" is not a valid ORACLE sqlcode.
Back to top
View user's profile Send private message
nhanks
PostPosted: Fri Apr 23, 2004 12:11 pm    Post subject: Reply with quote

Novice

Joined: 18 Dec 2001
Posts: 13

Sorry for the delay - got sidetracked.

Here is what is coming from my debug trace when I do a simple select statement:

2004-04-23 15:08:23.507972 3484 UserTrace BIP2231E: Error detected whilst processing a message 'TestFlow.APT_Database'.
The message broker detected an error whilst processing a message in node 'TestFlow.APT_Database'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2004-04-23 15:08:23.508092 3484 DatabaseException BIP2321E: Database error: ODBC return code '-1'.
The message broker encountered an error whilst executing a database operation. The ODBC return code was '-1'. See the following messages for information obtained from the database pertaining to this error.
Use the following messages to determine the cause of the error. This is likely to be such things as incorrect datasource or table names. Then correct either the database or message broker configuration.
2004-04-23 15:08:23.508157 3484 DatabaseException BIP2322E: Database error: SQL State '28000'; Native Error Code '1017'; Error Text '[DataDirect][ODBC Oracle driver][Oracle]ORA-0'.
The error has the following diagnostic information: SQL State '28000' SQL Native Error Code '1017' SQL Error Text '[DataDirect][ODBC Oracle driver][Oracle]ORA-0'
This message may be accompanied by other messages describing the effect on the message broker itself. Use the reason identified in this message with the accompanying messages to determine the cause of the error.
Back to top
View user's profile Send private message
nhanks
PostPosted: Sat Apr 24, 2004 7:57 pm    Post subject: Reply with quote

Novice

Joined: 18 Dec 2001
Posts: 13

Ok, I got it to work, but I had to remove the mqsisetdbparms entry for connecting with an id separate from the one the broker runs under and create a userid on Oracle for the Broker user id. When I did this everything works correctly.

I have CSD02 applied to MBIMB 5 - is this a bug addressed with CSD03?
Back to top
View user's profile Send private message
JT
PostPosted: Mon Apr 26, 2004 7:16 am    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

I don't believe this is a bug as we access many user databases using Oracle stored procedures and functions, with the appropriate user database ids & passwords.
Quote:
2004-04-23 15:08:23.508157 3484 DatabaseException BIP2322E: Database error: SQL State '28000'; Native Error Code '1017'; Error Text '[DataDirect][ODBC Oracle driver][Oracle]ORA-0'.

Your problem, as identified by the SqlNativeError of "1017", points to an "Invalid username/password". I ran into this error sometime ago from our Solaris brokers and discovered that some password values ($) were invalid. Enclosing the password in quotes, on the mqsisetdbparms command, worked.
Back to top
View user's profile Send private message
nhanks
PostPosted: Mon Apr 26, 2004 8:07 am    Post subject: Reply with quote

Novice

Joined: 18 Dec 2001
Posts: 13

Thanks for the info JT.

Another poster sent me a PM saying that they fixed the "problem" by changing the password to less than 6 characters since, and supposedly this was addressed with CSD03, which I have not applied yet.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Not able to call Oracle stored proc
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.