English

Error: Invalid character value for cast specification

Error Message

When loading data into an ArcSDE for SQL Server geodatabase the following error may be returned when loading certain dates into an ArcSDE feature class or table in a 9.3.1 or earlier geodatabase:

"Underlying DBMS error [Microsoft OLE DB Provider for SQL Server: Invalid character value for cast specification. (SDE.DBO.<some table name here>)]
Underlying DBMS error"

Cause

The default data type for date fields in an ArcSDE for SQL Server geodatabase is DATETIME for Version 9.3.1 or earlier. The SQL Server DATETIME data type cannot accept dates that precede 1 January 1753. Attempting to load data containing dates earlier than 1753 will return the error above.

Solution or Workaround

  • Change the date value in the source data.

    Note:
    Many other data sources will accept dates that precede 1753, including personal geodatabases, Oracle, and shapefiles. How you change the invalid values will depend on the source of the data.


  • Use ArcGIS 10.0 and SQL Server 2008.

    Note:
    ArcGIS 10.0 on SQL Server 2008 will create date fields using DATETIME2. This data type is new to SQL Server 2008 and will allow insertion of values between the date range of 01/01/0001 through 12/31/9999 and time range of 00:00:00 through 23:59:59:9999999. This will only apply to new fields so existing date fields created with ArcGIS 9.3.1 or earlier would have to be manually changed.