BUG: Inserting/Updating Dates Before "01-01-1900" Into SQL Using JDBC-ODBC Creates Errors (241347)



The information in this article applies to:

  • Microsoft ODBC for JDBC (Build 5.00.3591)
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7

This article was previously published under Q241347

SYMPTOMS

When using the Java Database Connectivity (JDBC) - Open Database Connectivity (ODBC) bridge to insert or update dates prior to "01-01-1900" into SQL server (version 6.5 and 7.0), the following error occurs consistently:
22008 [Microsoft][ODBC SQL Server Driver]Datetime field overflow.
For those inserts or updates that are successful (for dates after 01-01-1900), truncation (of the datetime columns) occurs. So, when displaying the row in the database, the seconds and milliseconds portion of the datetime columns are always 0 (zero) even though the date/time fields that are bound have non-zero values for seconds and milliseconds.

CAUSE

The JDBC-ODBC bridge (msjdbc10.dll) is binding the datetime column incorrectly.

RESOLUTION

Microsoft has confirmed this to be a bug in the JDBC-ODBC bridge (Msjdbc10.dll, version 5.00.3155). This bug has been fixed in Microsoft VM for Java, builds 3234 (which shipped with Microsoft Internet Explorer version 5.01 and Windows 2000) and later.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

This problem happens when you use the latest JDBC-ODBC bridge (Msjdbc10.dll version 5.00.3155) and Microsoft Data Access Components (MDAC) 2.1 GA and later. Uninstalling MDAC 2.1 and re-installing MDAC 2.0 SP2 seems to fix the problem.

You can use Microsoft Component Checker to uninstall any version of MDAC in a computer running Windows 95, Windows 98, or Windows NT.

For detailed information on Component Checker see the following Microsoft Web site:

Modification Type:MajorLast Reviewed:12/5/2003
Keywords:kbBug kbJDBC kbpending KB241347