DSD.BCIPut call to OCONV failed

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

MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

DSD.BCIPut call to OCONV failed

Post by MURALI123 »

Hi all,
i load the data from db2 to sql server which shows the below warning Column: ColumnName, NLS mapname: UTF8, Column data (after conversion): xxxx xxx?xxx, Column data (in hex, before conversion) xxxxxxxxxxxxxxxxxxx
can any body help me about the above warning how can i sloved?i am using ds server 8.0.1

thanks,
Malli
MALLI MURALI
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Which stage is generating the error? If a transform, what is your OCONV function?

[edited] - I just saw the "BCIPUT", which tells me which stage. What data types do you have - the error means that the contents of a field did not convert to the target data type. Since the fields will be stored internally as strings, this error could occur on any type of field which is modified from the source (which will be strongly typed as it comes from a database).
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Welcome aboard.

DSD.BCIPut() is the function used by the ODBC stage when doing Insert or Update. So it's nothing to do with the reading from DB2. You have an ODBC stage writing to SQL Server, and that's where the problem lies.

ODBC stage requires that you conform to ODBC standards. One of those is that dates must be in YYYY-MM-DD format. Is it possible that you're getting something different out of DB2?

When NLS is involved, the maps must be compatible.

Also, can you please advise whether you're using "Date" in the data element column of the Columns grid in the stage that connects to SQL Server?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

DSD.BCIPut call to OCONV failed

Post by MURALI123 »

Hi ray,
I am using the data type is VarChar2() in sql server and db2 also

Once again to find the below log :

Column: ColumnName, NLS mapname: UTF8, Column data (after conversion): XXXX XXXX?XXX, Column data (in hex, before conversion)
XXXXXXXXXXXXXXXXXXXXXXXXXX

here XXXX XXXX?XXX is a Input String data
XXXXXXXXXXXXXXXXXXXXXXXXXX is Hex numbers

can you give me what is the problem
Thanks,
Murali
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

DSD.BCIPut call to OCONV failed

Post by MURALI123 »

Hi ray,
i used in the column type is in sql server is NvarChar()

thanks,
Malli
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

What NLS setting is your db2? What NLS is your SQL Server? What NLS specifications did you give in the corresponding stages in DataStage?
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

Post by MURALI123 »

NLS Setting in DB2 is NONE
NLS is in SQL Server is also NONE
i set the NLS Locale to US-ENGLISH

Thanks,
Malli
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

Oconv Failed

Post by MURALI123 »

Hi,
Transformer stage generating the error
iam not used any oconv function but data is from db2 to odbc some rows are not populated because of the some invalid characters data.
so can you see the below post for full details.
Thanks,
Malli
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Can you identify which column is causing the error? (remove columns one-by-one until the error goes away). The "BCI.PUT" call is not done in the transform stage - are you sure that this error is being caused there?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Keep in mind the fact that in Server jobs the transformer (the active stage) always "generates the error" regardless of the actual source of the problem.
-craig

"You can never have too many knives" -- Logan Nine Fingers
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

Post by MURALI123 »

Hi,
the source string data Contains some invalid chracters with 2 rows those are not transfered to sql server so what i do to slove this issue.

here source is db2 column datatype is VarChar2() and target is SQL server column data type is NvarChar2().

can you suggest me how to transfer the above rows of data.

Thanks,
Malli
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Malli,

we are trying to help you, but without additional information it is going to be impossible and trying to get this data from you is proving itself rather difficult. You state "some invalid chracters <sic>" but in reality characters can only be invalid codepoints when given a context; but without knowing which character values and which NLS code page it is impossible.

You will need to reduce your test case to a single row and preferably a single character, then get the numeric value of that character in the source and in DataStage. Before you narrow down the cause nobody can help you.
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

Post by MURALI123 »

Hi,
while loading data from db2 stage to ODBC is SQL Server i am getting the below warning

DSD.BCIPut call to OCONV failed.
Column: CountryName, NLS mapname: UTF8, Column data (after conversion): ?RGFD INMNGDS, Column data (in hex, before conversion) C65CDD4E442049534C414E4453

Here ? refers some invalid chracter

So can you suggest me how to slove this i am not used any Oconv Function
Input & output data is String.

Thanks,
Malli
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

What NLS map name is being used when extracting from DB2?
Are the data in the DB2 table(s) really encoded using this map?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
MURALI123
Participant
Posts: 46
Joined: Sun Jun 21, 2009 1:37 am
Location: CHENNAI

Post by MURALI123 »

Hi,
NLS map name is Project default (ISO8859-1) used is used in db2 stage.
I dont know the data in db2 tables really encoded using this map.

so can you suggest me how can i slove this issue.

Thanks,
Malli
Post Reply