JDBC Beta 2 connection string properties

As you have probably seen by now we have shipped beta 2 of the Sql Server 2005 JDBC driver.

https://www.microsoft.com/sql/downloads/2005/jdbc.mspx

 

We have put a lot of work into this beta and it is with some trepidation that I see it go out the door. We have made a lot of hard decisions, our design philosophy has been to "do it right". This means that there are a lot of changes, some that may break some scenario that worked before (those are the ones I am most interested in hearing about). I can assure you that for every single change we have spent hours pouring over the "Maydene Fisher/Jon Ellis/Jonathan Burce, JDBC API Tutorial and Reference, third edtion" trying to do the right thing and I want to write a few blogs about some of these changes.

 

I will start with the easy one, we have cleaned up the connection string properties. We no longer allow duplicate connection string values, we now allow escaping values (using the '{' and '}' brackets) we will now throw an exception whenever you enter a name value pair that we don't understand etc. Besides all of that house keeping we have made some hard decisions, feel free to leave feedback on any of the following:

 

codepage has been removed, we now keep track of the codepage that you are using. There are some problems with this approach, we are currently supporting the 850+ codepages that the JVM supports. The problem is that there are a number of Codepages that are not supported by the VM that will now fail! In beta 2. We feel that explicitly failing is better than the possible data corruption that we were exposing before. Important: If you depend on a specific codepage that is _not_ supported by the JVM please contact us directly.

selectMethod has become forwardReadOnlyMethod. We wanted to make it very explicit that this method only affects the statements opened with Forward Only Read Only cursors (the default)

workstationID has been added, use this to identify the specific workstation in various SQL Server profiling and logging tools

trustedAuthentication has become integratedSecurity and ntlmAuthentication + domain have been removed. We are working on this feature but quite frankly we are seriously looking at this feature.

sqlVersion has been removed, we only support Sql Server 2000 and Sql Server 2005.

 

enableFailover has been removed, the implementation had some security issues so we are removing it until we can do it correctly.

logfile has been removed we have moved diagnostics to java.util.logging.Logger

asciiStringParameters becomes logically inverse sendStringParametersAsUnicode. We don’t always send the string parameters as ascii when not sending them as Unicode, renaming this property makes this clearer.

booleanLiterals has been removed, we were parsing SQL statements and translating Oracle boolean literas to Sql Server numeric values. This is a very incomplete feature so we have decided to postpone Oracle migration features to a later release.