Forums Register Login

Getting name of CallableStatement before execute?

+Pie Number of slices to send: Send
Hello,

Trying to figure out a way to retrieve the value passed to prepareStatement() and the parameters thereof, but I do not see an immediate way to do this within the Statement, PreparedStatement, or CallableStatement objects.

Any ideas?

Thanks!
+Pie Number of slices to send: Send
David,
What are you trying to do with the values? The database driver has a way of getting them, but an application developer normally wouldn't. You are passing in the values, so you have them at some point.
+Pie Number of slices to send: Send
Well...

While debugging some pesky bugs, we're trying to track database activity across multiple users and want to log all Stored Procedure calls, by user, and the parameters passed to SQL Server.

Yes, we're using SQL Profiler but the commands aren't sequential by user and sorting it all out is difficult.

What we come up with is to place a call in our central DB code to gather the CallableStatement calls and the passed parameters BEFORE they get to the DB.

We're not sure if it's a driver thing, a JNDI thing, a SQL Server thing, or what.

Also, certain users seem to have unusual behavior versus other users so it could be a permission or security thing as well.
+Pie Number of slices to send: Send
David,
I don't think it is possible to log at that level. The only places that I can think of to log that info:

1) When you set the string for the prepared statement
2) From a DAO wrapper for the prepared statement
3) From the callable statement itself
+Pie Number of slices to send: Send
I found a way to get what I need. We were having issues with the Microsoft SQL Server driver so I tried out the JTDS Open Source driver instead and found a CallableStatement_Base class in the driver source. By casting a regular CallableStatement (passed into my DAO), I was able to get the name of the Procedure and the parameters passed, all in a generic way.

I can post some code if anyone is interested.
[ July 07, 2004: Message edited by: David Yutzy ]
+Pie Number of slices to send: Send
Cool! Good to know a way of doing it.
I don't always make ads but when I do they're tiny
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1054 times.
Similar Threads
Can I execute Oracle procedures through satement
Multiple "select" in one query
Running a procedure in JDBC
how to call a stored procedure which do not return a resultSet
how to close unused open cursors
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 07:05:30.