Date: Sun, 8 Mar 2009 23:35:36 -0700
Reply-To: Daniel Nordlund <djnordlund@VERIZON.NET>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Daniel Nordlund <djnordlund@VERIZON.NET>
Subject: Re: ERROR: ORACLE prepare error: ORA-24333
In-Reply-To: <200903090557.n28AsJPZ031562@malibu.cc.uga.edu>
Content-type: text/plain; charset=iso-8859-1
> -----Original Message-----
> From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On
> Behalf Of Harry
> Sent: Sunday, March 08, 2009 10:58 PM
> To: SAS-L@LISTSERV.UGA.EDU
> Subject: ERROR: ORACLE prepare error: ORA-24333
>
> I get an error when I run the below SAS code
>
>
> data _null_;
> proc sql ;
> connect to oracle (user= &userid
> password= "&orapass" path= &ora_path ) ;
> select * from connection to oracle
> (EXEC(EXEC DI_PROC_IMP_RESULT_UPDATE) BY
> ORACLE);
> disconnect from oracle ;
> quit;
> run;
>
>
> ERROR: ORACLE prepare error: ORA-24333: zero iteration count. SQL
> statement: EXEC(EXEC DI_PROC_IMP_RESULT_UPDATE) BY ORACLE.
I see a couple of things that I don't understand. First, there is no need
for the DATA _NULL_ ; proc sql runs on it's own, no need for a data step.
Second, I am not sure what the rest of the sql query is trying to do. Is
DI_PROC_IMP_RESULT_UPDATE a stored procedure? What is the purpose of the
double EXEC? If you are trying to execute a procedure in Oracle using
pass-through, why are you using "select * from connection to oracle(" which
suggests that you are trying to return some results to SAS, but not store
them in a dataset. So, can you write back to SAS-L and describe what it is
you are trying to accomplish? I am sure that once we know what it is you
want to do that you will receive some useful advice.
Dan
Daniel Nordlund
Bothell, WA USA
|