hi all,
I am writting Dynamic adapter service and i have written query like this.
" select sname from student ${DynmicPart}" and I am running the service. It is asking me input for “DynmicPart” for that I am passing “where M1 > 35”. Actually it has to generate query like " select sname from student where M1 > 35".
But it is giving error stating that
(17059)Fail to Convert internal reprasentation and
generating query like
" select sname from student where M1 > 35"."
pls help me how to avoind that “.”(DOT) at the nd of query.
thanks,
Satish.
What version of the JDBCAdapter are you using, I’m having the same problem.
OK, I got it now … basically the documentation is not clear enough.
Here is my setup:
//Note: I preferred to pass the whole sql with variable substitution for more control
For you, the string mapped to the sql field would be:
select sname from student where M%level% > %numb%"
My Dynamic configuration is as follows:
-
SQL: {sql}
//NOT THAT IT IS NOT "{sql}", so don’t use quotes nor ‘;’. -
NO input JDBC Types:
//No need since you are taking care of it from flow -
OUTPUT JDBC Types: (VARCHAR, java.lang.String, sname)
//I was missing this OUTPUT JDBC Types which was causing my error. -
maximum row: 0
-
Result Field: // left this blank, since selects return -1 update count
-
Result Field Type: Integer/String does not apply when
Execute and your results should look as follows:
results
- results[0]
- sname (name1)
- results[1]
- sname (name2)
- results[2]
- sname (name3)
Try it this way and they you can try moving the SQL into the Adapter. I don’t believe the convertion is the problem, since I got the same error w/o parameters.