Problem when create sequential file in parallel job

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
abyss
Premium Member
Premium Member
Posts: 172
Joined: Thu May 22, 2014 12:43 am

Problem when create sequential file in parallel job

Post by abyss »

Hi All:
I have a job extract data from odbc stage (connect to sql server) and output the result to a sequential file

job failed with the following error logs:

Code: Select all

ODBCEvents: Connected to Microsoft SQL Server, version 12.00.4100 through driver <driver>.DLL.
The driver does not support quoted identifiers in SQL statements
External schema field, name: <field name>, type: INT32 was not found in the design schema
Design schema field, name: <field name>, type: INT32 was not referenced in the SQL statement
Error when checking operator: Could not find input field "<field name>".
main_program: Could not check all operators because of previous error(s)
main_program: Creation of a step finished with status = FAILED.
does anyone know why?

cheers
abyss
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Doesn't that error message say exactly why? Sure looks like it does to me. And it doesn't have anything to do with creating a sequential file, looks to be all about the ODBC source extract.
-craig

"You can never have too many knives" -- Logan Nine Fingers
abyss
Premium Member
Premium Member
Posts: 172
Joined: Thu May 22, 2014 12:43 am

Post by abyss »

hmmmmm, i fixed problem by following exactly what you said.

the select statement has one field name mismatch with output table definitions name.
thanks, and this is lead to another 2 questions:
1. why sql field name have to match with table definition for ODBC stage? from my experience as long as their positions are match, the stage should work.
2. if i change the sql stage to a peek stage, the old job still works, why?

anyway, thanks very much!
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Your stated experience about order relates only to parameter markers, and these are not used in SELECT statements.

In SELECT statements you must precisely what values you wish to see, either via column names or SQL expressions in the SELECT clause, and the source of those values, such as table or view names, in the FROM clause.

The is the "structured" part of Structured Query Language.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

The answer to #2 is probably that you did not compile the changed job, so that the executable is still the compiled version of the original job.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply