We are converting our legacy application to run on Java. We use ODBC drivers shipped with SQL Server 2000 to connect to the database. On the java side we began to use JDBC type 4 drivers. WE noticed that the sql statements being sent over to the database via jdbc uses sp_executesql. There are significant spikes in performance. I profiled the database for both these drivers and found that we have severe performance hits when using JDBC. SQL Statements are not being cached when using JDBC drivers. Has anyone seen this behaviour? Is there some kind of property that allows caching of sql statements.