Debugging SQLSelect statements

I’ve created a simple adapter designed to query a table where employeeName = ?. I’ve specified the JDBC type is VARCHAR, and input field type is java.lang.String.

When I run it and provide a value I know is in db, nothing is returned. If I change it to LIKE instead of =, then I get the desired record as expected.

Can anyone help me understand a) what I’m doing wrong with my select statement, b) how I can output the actual sql statement used.

thank you.

Kieran

In you are using customQL of Adapter service then specify the sytanx where employeeName(?)

? is for input field that you have specified in the Input JDBC Type that query uses example in runtime:employeeName(John).

HTH,

Highly possible that your data is bitwise incorrect, therefor LIKE gives you the desired result instead of =. Did you tried “==” ?

Thank you for your responses.

RMG, I think you are talking about casting the input variable, but I’m not sure. I have provided the Input JDBC Type of java.lang.String. I have attached a screenshot of what I’ve done.

Shyam, there is no == operator in webmethods select where clause options. Maybe I’ve misunderstood.

Please see screenshot I have attached. It’s probably the most obvious thing in the world. Isn’t it always? Thanks again.

Kieran,

You are in the right approach,since the specified input field should take input and the where condition should work as expected.But i dont understand why its not querying when the input is being passed.
Its weird.

Or else try to create new adapter service and give it a shot.
And also try to Reload values from the adapter,may be it works.

I will post it if i have any clue.

Regards,

thanks RMG. I created another adapter and tried again. same issue.

If I change operator to LIKE, and provide for input %Jones, it still does not return that record. If however, I provide for input Jones%, then it works.

Therefore, is it possible that there’s some kind of white space issue, or some other data type loophole that I’m not seeing?

Thanks again.

Actually if you use lastname=? and pass the input in runtime it should return the results and i believe that particular lastname record exists in your DB and the specified input is exact value (including spacing)

Datatype issue should not be there since name should be varchar in both the places…

At this moment i am not able to give accurate solution…sorry for that…

Regards,

This problem seems to be bizarre. No one has a clue. Anyhow, I’ve uploaded a zipped document of the select flow service. Please let me know if you see the problem. Thank you. For test input I’m using: “Jackson” (as in Michael), and it is in my db.

SelectSQL flow
GetEmployee.zip (2.8 k)