Page 1 of 1

DSD.BCIPut Call to SQLExecute failed

Posted: Thu Aug 08, 2002 6:10 am
by skpahuja
DATA STAGE VER 4.2
OS : NT

I am trying to REPLACE EXISTING ROWS COMPLETELY
in to ODBC stage MSSQL From A ODBC stage MSSQL

I have set the UPDATE ACTION AS : REPLACE EXISTING ROWS COMPLETELY

MY SQL SHOWS THIS

DELETE FROM NPP_2."dbo".DELIVERY_ORDERS_SUMMARY WHERE ();
INSERT INTO NPP_2."dbo".DELIVERY_ORDERS_SUMMARY(DO_ORDER_NO, GROUP_CODE, CUST_CODE, CUST_NAME, DEL_DATE, TTL_QTY, GROSS_AMT, NET_AMT, DISC_AMT, INVOICE_NO, FLAG) VALUES (?,?,?,?,?,?,?,?,?,?,?);

MY LOG SHOWS THE FOLLOWING ERROR:


UPDATEINVSUMMARY.CODBCStage2.DSLink4: DSD.BCIOpenW call to SQLPrepare failed.
DELETE FROM NPP_2."dbo".DELIVERY_ORDERS_SUMMARY WHERE ()
SQLSTATE=37000, DBMS.CODE=170
[Ardent][SQL Client][ODBC][Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ')'.
SQLSTATE=37000, DBMS.CODE=8180
[Ardent][SQL Client][ODBC][Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared


PLEASE HELP

THANKS AND REGARDS
SKPAHUJA

Posted: Mon Aug 12, 2002 12:37 pm
by ogmios
This is an easy one. You should specify the key columns of your table in the ODBC stage. If you do this the columns will appear in the WHERE clause of the delete.

Regards,
Ogmios
Belgium