Announcement and Discussions related to the Microsoft JDBC driver for SQL Server
Since the release of SQL Server 2008, we have heard from customers looking for a JDBC driver that supports SQL Server 2008. I would like to use this post to ask you, our customers, which features of SQL Server 2008 do you need supported through the JDBC driver. We want to make sure we are delivering features which adds the most value to our customers and your feedback will help us help you.
Here are some features to get things started:
Please add any you don't see on the list. If there are multiple features you need, please rank them in order of priority.
Thanks,Jimmy WuSQL Server JDBC Team
I would like better performance. We have an application that opens two resultsets of ~6 million rows and reads through all the data. The latest JTDS open source driver benchmark is about 2.7 minutes. The MS 2.0 driver benchmark is 4.9 minutes. Both resultsets have a small number of columns comprised of decimal data. Source DB is SQL 2008. JRE is 1.6.
Good performance is certainly an important feature of any release! When reading that much data, latency should be dominated by network and server disk I/O. Changing the client driver shouldn't make that big of a difference.
Can you share your benchmark table schema, and perhaps the benchmark code, with us at https://connect.microsoft.com/SQLServer/feedback/CreateFeedback.aspx ? Be sure to include "JDBC" somewhere in the title. You'll be able to track our investigation of the issue.
--David Olix [SQL Server]
datetime2 support would be very much appreciated, we are currently having to use the setText() workaround to get proper millisecond resolution in dates since a date at the end of the day shows up tomorrow in the database.
For those interested in Spatial types, would Windows only support for Spatial types be good enough? We have some geo spatial libraries written in C++ would be hard to port all of them to Java in the short term. Also, do you use JPOX spatial types in your applications.
Table-Value Parameters - I am looking for a Java JDBC example on the "Table-Value Parameters" usage ? please let me know if you all have any URL on this.
We currently do not support TVPs. However, we are considering supporting them in a future release. Could you describe your TVP usage scenario? Thanks so much.
--Tres London [SQL Server]
I have several SP's that requires passing in list of key value pair's to the SP (array with a record like structure). so if a TVP is not supported currently ...then I guess XML is the only option. I was under the impression that since TVP is supported in Dot Net , it is available for Java as well. This is a very important feature ..Oracle has been supporting this type of interface for past decade.
TVPs are very important to us. We have a Java service layer in front of SQL Server DB data layer for high volume OLTP. Currently we spend a lot of cycles breaking down comma-delimited lists using a T-SQL UDF so we can join to a table inside stored procs. Having this data structure built in Java first and passed into the proc allows us to spend less time in the data tier. I suspect this was a major motivator for creating TVPs in the first place...please bring them to Java the way you have for .Net.
TVP, TVP, TVP, did I said TVP? :-)
Thank you for the feature request - keep them coming. Unfortunately TVPs will not be making it into the next release. We will be publishing a roadmap for this next release on the blog in a bit to help.
Only feature that would benefit us greatly would be
An example use would be saving updates from web screens to databases. We dont like the syntax of XML and find passing delimited strings 'messy' and problem prone.
Hmm, notice Oracle supports this concept....
Support of Datatime2 type in PreparedStatement.setTimestamp(). We are migrating Oracle to SQLServer and can not set Oracle datetime prior to 1753 to sqlserver without using Datatime2 type but current jdbc driver does not support it. Big minus!
As mentioned in your post http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/7b4eac48-4eee-43a3-81a7-de41440e846c I would definitely like to see the JDBC driver be able to support secure, cross platform login authentication. In particular, I have a linux web server hosting LAN applications in a Windows network. I would like to be able to log the users on the SQL Server using Windows Authentication and not have to create new logins for everyone (out of sync with their workstation login IDs, passwords and expirations), or have to create a common SQL Server login where the individual user can't be identified (which is what I do now). If you have any question on this comment, my email address is email@example.com
Thank you Mark for providing your input. I will certainly contact you if I have further questions on your feedback.