Login / Register  search  syndication  about

          Kris Halsrud's Blog

Kris Halsrud on development and Integration with CRM and Development

Errors caused by invalild dates in the SalesLogix entity model

Working with non-nullable types in C# can be a bit of a pain.  In the world of SalesLogix you may occasionally run into an error like this:

The key to this error is the part about "Data value overflowed the type used by the provider ".  How do you know?  Well trust me it is.  We can take a look at how to demonstrate this error with these simple lines of code:

Sage.Entity.Interfaces.IAccount account = this.BindingSource.Current as Sage.Entity.Interfaces.IAccount;
account.CreateDate = DateTime.MinValue; //1/1/0001
account.Save();

Attempting to run this code will result in a more verbose error than shown in the screen shot but still caused by the same underlying problem:

The statement has been terminated. : The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.

This error is being caused by a date value that is out of range of the DateTime data type used by the SalesLogix OLE DB provider.  The SalesLogix provider uses the SQL Server DATETIME data type which only supports years  1753-9999. 

C# on the other hand, represents a date as the C# DateTime data type.  This is equivalent to the SQL Server 2008 DATETIME2 data type which accepts a date range of "0001/01/01" through "9999/12/31".

When attempting to store a date that is outside the DATETIME data type (1753-9999) you will get the errors "data value overflowed the type used by the provider" or "conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value".

Based on just the on screen error shown above, you cannot be sure where this data conversion error occurred.  If you look on the web server in the Event Logs under Application you should see an error log entry with hopefully more details as to where this failure occurred.  If you can find where the error occurred, take a look there and you will find it contains some date that is not within the 1753-9999 year date range or is blank.

What's This?
  
Bookmark and Share

About Kris Halsrud

   Kris Halsrud is a Senior Analyst / Developer for Customer FX Corporation.


Related Content
   Demystifying SalesLogix Web: Dashboards and Analytics Tools
Join us for a free webinar, Wednesday, May 15th at 2pm CDT. The SalesLogix Web dashboards and analytics
Posted on May 08, 2013 by Brianna Tinjum to The Inbox
 
   How to get sizes for tables in a SQL 2008 database
Under the heading of "often needed and never remembered", I decided to post a quick T-SQl examp
Posted on Apr 18, 2013 by Kris Halsrud to Kris Halsrud's Blog
 
   How can I make sure I am logging into the correct SalesLogix web client database?
I just recently did a updated conversion of our production database (which is 6.2x) and I'm trying to
Posted on Apr 15, 2013 by SalesLogix Support to SalesLogix Questions & Answers
 
   The SLXOLEDB.1 provider is not registered on the local machine
Ever seen this error before when logging into the SalesLogix web client?  Ofter this is a result of
Posted on Apr 04, 2013 by Kris Halsrud to Kris Halsrud's Blog
 
   Modifying SLX Mobile 2.0 to deploy customizations on a normal App Architect deployment
 In order to have your customizations, that have been added to the SalesLogix Mobile 2.0 client, be
Posted on Mar 27, 2013 by Kris Halsrud to Kris Halsrud's Blog
 
Comments

No Comments

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2013 Customer FX Corporation
Customer FX Corporation
2324 University Avenue West, Suite 115
Saint Paul, Minnesota 55114
Tel: 800.728.5783

  Follow @CustomerFX on twitter
Follow the best news, tips, and articles
  Subscribe to Customer FX on youtube
Watch SalesLogix tutorial videos from Customer FX
Login / Register