Bad NLS map name

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
rsunny
Participant
Posts: 223
Joined: Sat Jul 03, 2010 10:22 pm

Bad NLS map name

Post by rsunny »

Hi ,

I am trying to execute a Oracle stored procedure and used a stored procedure stage . Procedure Type is Transform and have 7 parameters and the values are hardcoded in Parameters tab under Parametr maker/literal.

I am getting the below error when i run the Stored procedure stage. The stored procedure is the only stage in the job and the error is
"Bad NLS map name '"' specified.

NLS is not installed in our server. Is it because of that i am getting the above error or any other specific reason.

Could any one please provide me the solution of how to get rid of this error and run the stored procedure successfully
rsunny
Participant
Posts: 223
Joined: Sat Jul 03, 2010 10:22 pm

Re: Bad NLS map name

Post by rsunny »

Any Help is really appreciated
rsunny
Participant
Posts: 223
Joined: Sat Jul 03, 2010 10:22 pm

Post by rsunny »

Hi,

Could anyone please suggest me what would be the solution for the above error?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

First suggestion - patience. Pushing doesn't help get answers faster and can actually be counterproductive.

Second, a 'transform' procedure means it has a source and a target; you call it, it does work and then passes out an answer. That can't happen if it is the only stage on the canvas. As a matter of fact I don't believe the stage can work at all without some kind of input and/or output link.

Your other options are 'Source' or 'Target' where the stage is either first in line and delivers data into your job or sits at the end and is called once per row but does not output anything. Sounds like yours falls into the latter camp, so I'd suggest using a Generator to supply the one row it needs and use that to bind in the parameters it needs rather than hard-coding anything.
-craig

"You can never have too many knives" -- Logan Nine Fingers
rsunny
Participant
Posts: 223
Joined: Sat Jul 03, 2010 10:22 pm

Post by rsunny »

Hi Craig,

I was not in a hurry but just want to make sure my thread doesn't become old. If my thread is Old , i dont think so i will get the response.

I have used a 'transform' procedure without source and a target and it worked fine but the Database that i used is Teradata.

But when i am trying for Oracle , it is not working. And the procedure is used to collect the Statistics.The procedure that is being used is to collect the table statistics.

I have parametrized the values and tried and it didnt work and even i used a Generator stage as input and Output as a peek but still didnt work for me.

I have tried using a Oracle Connector stage and used the Stored procedure in the Connector stage.

I got the error as "ORA-00900: invalid SQL statement. "

My stored procedure will look like
exec sys.stats.table_stats (abc => 'owname',def =>'tabname');

When i try to execute the Stored procedure through TOAD , it worked fine

Please suggest me if there is any other altenative.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Try setting the transform type to be Target with a Generator as input, but with no output link.
-craig

"You can never have too many knives" -- Logan Nine Fingers
rsunny
Participant
Posts: 223
Joined: Sat Jul 03, 2010 10:22 pm

Post by rsunny »

I tried setting the transform type to be Target and no output link but still get the error and the job is Aborting
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

OK, how about posting the complete unedited error message?
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply