Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Using ODI variable

user12251389Oct 6 2021 — edited Oct 7 2021

I am using ODI 12c. I have created Variable and i am trying to use this variable value in filter condition to filter the data based on a timestamp. But its not working.
Basically what i am trying is from my target table TEST_SDADDR i am trying to get max Timestamp everytime and trying to pass this value in Filter condition so that from source table CSL_STG_DEC_SDADDR, i will always load the latest data into my target table TEST_SDADDR.
This is how i have created variable and trying to use Variable in filter:
Step1.
image.png
Step2.
image.png
Step3.
image.pngI am getting below error:
ODI-1593: The following bind parameters (36:29.0) in the task command are not bound to any value. All the bind parameters should be bound for the command to be successful.

This post has been answered by Rodrigo Radtke Souza on Oct 6 2021
Jump to Answer

Comments

thatJeffSmith-Oracle

are these oracle data dictionary views? Sorry, I don't recognize the objects in your query. If not, we need a reproducible test case.

user12251389

No its a normal table

thatJeffSmith-Oracle

ok, so give us your table ddl and insert statements so we can try to help you

spool on an /*insert*/ works for HR.EMPLOYEES for example

user12251389

Can you please paste the format which is working as you mentioned ? I have updated my query and as i said the insert statement not getting generated after the file has been generated using Spool so i cannot show you

thatJeffSmith-Oracle
Answer

Sure, i put that here

Marked as Answer by user12251389 · Sep 27 2020
Gary Graham-Oracle

It may help others with a similar problem in the future if you explain what went wrong with the use case in your environment.

For example, just looking at

spool ...

set sqlformat insert

select ...

spool off

a quick test shows this works fine starting with SQL Developer 4.1.1 through 17.2.   Going back to SQL Developer 4.0.3, you would need to remove the "set sqlformat insert" and just use the /*insert*/ hint (as in select /*insert*/ ...).

So, in your case,  was the problem related to...

1. SQL Developer version

2. The leading set commands (set long / set lines)

3. A specific column data type present in your table

4. Something else

It would be nice to know.

Regards,

Gary Graham

SQL Developer Team

Edit:

Rechecking the updated parallel discussion on Stack Overflow, I see the reason was the use of an even earlier version of SQL Developer (3.0 or some 3.x).

The suggested /*insert*/ hint works for SQL Developer 3.2.2 and probably even earlier versions.

user12251389

The problem was because of  sql developer version which was 3.0 and when i run it in 4.1 then it works

1 - 7