ODBC problem between BO & Teradata

Hi all,

Not sure what section I should post this in - new to this forum.

Currently using BO 6.5. Having a problem with a BO proc that a accesses a stored proc on our Teradata platform – error message follows:

Exception: DBD, [NCR][ODBC Teradata Driver][Teradata Database]rcr_create_facts:Only an ET or null statement is legal after a DDL Statement. State: 25000

Have had DBAs & BO admin trying to fix this problem, but no luck so far.
Have tried using / installing 2 different Teradata ODBC drivers.

Has anyone else ran into this type of problem? If so, your solution?

thanks,
alan


alandool (BOB member since 2007-09-14)

Alan,

Welcome to B :mrgreen: B!!!

How exactly are you executing the stored procedure? Please offer as many details as you can on how you are trying to run this.


lgonzalez (BOB member since 2002-07-17)

Sorry. There are 2 data providers built within this particular BO report. The first data provider is a CALL to a stored procedure on the Teradata platform to create a volatile table. The second data provider then uses results from the first.

Hope that helps.

alan


alandool (BOB member since 2007-09-14)

And everything runs successfully in the Teradata query tool?


lgonzalez (BOB member since 2002-07-17)

Yes, I can go directly into Teradata and run the proc, no problem.
For instance, I can take the following test code and run it in Teradata. It runs fine.

call userprocp.rcr_create_facts /* Teradata stored proc */
(‘Test’,‘357288’,‘1’,‘NH’,‘1900-01-01’,‘2007-07-31’,‘2007-01-01’,‘2007-07-31’,‘N’, FIRM_NAME, ACCT_STRT_MTH_PY, ACCT_END_MTH_PY, ACCT_STRT_MTH_CY, ACCT_END_MTH_CY, INCUR_STRT_MTH_PY, INCUR_END_MTH_PY, INCUR_STRT_MTH_CY, INCUR_END_MTH_CY);

But if I try to take the same code and run it in BO (Free-hand SQL) it brings back the followin error.

Exception: DBD, [NCR][ODBC Teradata Driver][Teradata Database] rcr_create_facts:Only an ET or null statement is legal after a DDL Statement. State: 25000

We have tried using 2 different versions of Teradata drivers.


alandool (BOB member since 2007-09-14)

Hi,

Teradata session is available in two modes

  1. BTET (Begin transaction, End transaction)
  2. ANSI

BTET is implicit commit mode that is it doesn’t require an explicit commit to commit the changes to the DB and ANSI is explicit commit mode.

Solutions

  1. Please check the mode you are using it should be BTET
  2. You could also try putting in a NULL statement in between the DDL and the DML by putting in an empty ; or key in an explicit ‘ET’ statement.

chawla.nitesh (BOB member since 2007-10-22)

Wanted to pull up this topic and see if anyone came out of this issue?

I am getting issues in Stored Proc’s that has a INSERT/CREATE Scripts in it.

The thing is, the same Stored Proc runs all fine from the Teradata SQL Assistant…

I am using BO Data Services. 4.0 SP1


ganeshxp :us: (BOB member since 2008-07-17)