Es ligt nicht am Treiberset sondern am ConnectionString.
Hier kann man Defaults überschreiben. Da musst du mal in die Doku schauen was man da einstellen kann. Häufig wird hier ein Datum als Typ String und nicht als Typ Date übergeben.
Dass dann die Darstellung in Java mit .2017 korrekt ist liegt daran, dass beim Reader.GetDate() ja in ein Date umgewandelt wird und auch hier gilt, dass zwischen hier mit einer Range (ich weiß im Moment nicht welche) zwischen 1900 und 2000 unterschieden wird (wie bei AS/400 mit <=39=20, >=40=19).
Versuche da mal ein Datum .2101.