Update error

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
Jay
Participant
Posts: 105
Joined: Tue Nov 11, 2003 8:28 pm

Update error

Post by Jay »

Hi All,

I am getting this error while updating a Oracle 8.1 table


Terminate.terminate,0: Open failed for update. Update is: UPDATE
schemaName.EMPLOYEE
SET
END_DT = :END_DT, POST_DTS = :POST_DTS
WHERE
(EMPLOYEE_NBR = :EMPLOYEE_NBR)
sqlcode is: -1475
esql complaint: ORA-01475: must reparse cursor to change bind variable datatype

I checked the datatypes and they are ok...

Any ideas in which direction i have to proceed...

Thanks in advance
Jay
Sainath.Srinivasan
Participant
Posts: 3337
Joined: Mon Jan 17, 2005 4:49 am
Location: United Kingdom

Post by Sainath.Srinivasan »

If it is a server job, you must be using '?' or :n as placeholders and not the field name prefix with colon.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

What Sainath is saying is that you require a statement of the form

Code: Select all

UPDATE 
schemaName.EMPLOYEE 
SET 
END_DT = :2, POST_DTS = :3
WHERE 
(EMPLOYEE_NBR = :1) 
for Oracle, or

Code: Select all

UPDATE 
schemaName.EMPLOYEE 
SET 
END_DT = ?, POST_DTS = ?
WHERE 
(EMPLOYEE_NBR = ?) 
for ODBC and most other databases.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Jay
Participant
Posts: 105
Joined: Tue Nov 11, 2003 8:28 pm

Post by Jay »

Its a PX job.

I fixed it. But i am not convinced by the solution .

I had to update all the columns instead of the listed 3.

So the target had all 17 columns. The job ran fine. But i dont know how this change affected it.

I had ran it some time back(1 month) with update to the 3 columns.

Thanks
Jay
Post Reply