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 » What Oracle rights do I need to run a stored procedure?

Post new topic  Reply to topic
 What Oracle rights do I need to run a stored procedure? « View previous topic :: View next topic » 
Author Message
sorn73
PostPosted: Fri Jun 16, 2006 1:38 am    Post subject: What Oracle rights do I need to run a stored procedure? Reply with quote

Novice

Joined: 24 Mar 2004
Posts: 24
Location: Sweden

Short version: What rights do I need in Oracle, on schema and package level, to execute a stored procedure that has been defined as an external procedure in the broker? I'm on WBIMB 5.0 sp2 (upgrades are, unfortunately, not an option. You know how it is.) I can't use PASSTHRU either.

Long version: I'm having problems accessing a stored procedure in an Oracle database. Since the stored procedure have both IN and OUT parameters I can't use PASSTHRU. I have declared the procedure with an external reference, like so:

Code:
CREATE PROCEDURE ProcessQuery(
      IN xmlIn BLOB,
      OUT xmlOut BLOB) EXTERNAL NAME "%.PACKAGE.ProcessQuery";


which matches the stored procedure definition that I've been given.

When I tro to call the procedure I'm getting a "The procedure is unknown to the database and no definition could be found." error . (And subsequent tries gives me the famous bug "The ESQL deployed to the node is invalid.")

However, I am able to execute the procedure from SQLPlus, and get good results. I can't see the procedure, or even the package, using Toad or any other tool, which makes me suspect that I might have execute rights but not view/browse rights (or something, I'm not an Oracle dba).

So, up with a trusty sniffer and debug the ODBC traffic. And, sure enough, the SQL query that I catch is not really an execute, but it looks likes the broker is trying to look up the definition of the stored procedure, probably to check that it matches the definition in my code. Here is the actual lookup, albeit taken from a network package dump of the ODBC traffic, therfore there are som "escape" and stuff. Oh yeah, the package name is really not PACKAGE, but that's the only cleanup I've done.

Code:
select a.owner, a.object_name, INSTR(a.object_type, 'PROC'), '1' from sys.all_objects a where a.object_type IN ('FUNCTION','PROCEDURE') and a.status = 'VALID' and a.owner like USER escape'\' and a.object_name like'PACKAGE'escape'\' union all select c.owner, c.synonym_name, INSTR(a.object_type, 'PROC'), '1' from sys.all_objects a, sys.all_synonyms c where c.table_owner = a.owner and c.table_name = a.object_name and a.object_type IN  ('FUNCTION','PROCEDURE') and a.status = 'VALID' and  c.owner like USER escape'\' and c.synonym_name like'PACKAGE'escape'\'


which is what makes me believe that the broker is not satisified by being able to execute the procedure, it must also be able to access the procedure definition, since it looks up package name and associated objects in sys.*-tables. The answer back from the database is "ORA01403 - No data found".

So, to reiterate, what rights do I need, on a schema and package level, to be able to execute a stored procedure in an Oracle database?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Jun 16, 2006 2:41 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Make sure you're on a supported Oracle for the broker version you're using.

Make sure your ODBC datasource is built using the Merant odbc drivers that come with broker, and not with something else.
_________________
I am *not* the model of the modern major general.
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 » What Oracle rights do I need to run a stored procedure?
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.