Page 1 of 1

Sybase IQ Wire Protocol Driver - problem with inserting data

Posted: Fri Jul 31, 2015 7:32 am
by ascen
Hi,

We have issue with ODBC Connector stage. Trying to insert data into table in sybase IQ 15.4 using native driver 'Sybase IQ Wire Protocol Driver'. Error message is as below

Peek_5,0: DTKP_ID:5 RejectERRORCODE:207 RejectERRORTEXT:[IBM(DataDirect OEM)][ODBC Sybase IQ Wire Protocol driver][Sybase IQ]SQL Anywhere Error -143: Column '@0001' not found

Reject is for every record , and it is most simple insert with test data:

INSERT INTO S0065.test(DTKP_ID) VALUES(ORCHESTRATE.DTKP_ID)

Any ideas what is the matter of the problem?

Posted: Mon Aug 03, 2015 8:27 am
by ArndW
Does this happen only for this table or for all tables?
What happens if you let DataStage create the insert statement, i.e. just pass the one column, DTKP_ID, to the insert statement.

Posted: Mon Aug 03, 2015 9:14 am
by ascen
It happens for all tables and it fails in both situations when statement is given explicitly and when DS generates statement. Is there chance that character conversions has something to do with this issue?

Posted: Mon Aug 03, 2015 9:37 am
by chulett
Doesn't sound like any kind of character conversion issue to me but who knows. Time to involve support if you haven't done so already.

Posted: Mon Aug 03, 2015 11:17 am
by kduke
If you have special characters like '@' in column names then you need to quote it properly. The connector should know the valid quote character. Have it generate the statement with quote characters. Then try it.

Posted: Tue Aug 04, 2015 1:09 am
by ascen
Column names does not contains special characters. We will report issue to support

Posted: Tue Aug 04, 2015 6:11 am
by ray.wurlod
ascen wrote:Column names does not contains special characters. We will report issue to support
Then why does the error message complain of a column called "@0001"? Maybe your design metadata has "@" in column names - if so how did it get there?

Posted: Tue Aug 04, 2015 7:25 am
by ArndW
That should be an internal placeholder when constructing a query explicitly using the ORCHESTRATE.nnnn names; but shouldn't be in use when doing a plain-vanilla insert with just the one column.

Hmmm.. Are you using RCP in this job and are there perhaps more than the 1 column in the data stream going to the stage?