This is a migrated thread and some comments may be shown as answers.

SqlDateTime overflow when time is correct?

1 Answer 555 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Emily
Top achievements
Rank 1
Emily asked on 01 Dec 2015, 07:04 PM

When updating a list of objects in my database, I am getting a SqlDateTime overflow exception on the same object(s) every time I try to call SaveChanges. Whats strange is that if I start from a blank database, those same records are added initially without issue. It is whenever I try to update them later on that I am getting these errors.

 

The stack trace is as follows:

 

Telerik.OpenAccess.Exceptions.DataStoreException: Update failed: System.Data.Sql
Types.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:00:00
AM and 12/31/9999 11:59:59 PM.
   at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeUpda
te(Nullable`1 commandTimeout)
   at OpenAccessRuntime.Relational.conn.PooledPreparedStatement.executeUpdate(Nu
llable`1 commandTimeout)
   at OpenAccessRuntime.Relational.RelationalStorageManager.generateUpdates(OID
oid, Int32 index, ClassMetaData cmd, PersistGraph graph, Int32[] fieldNos, Boole
an haveNewObjects, CharBuf s, BatchControlInfo batchControl, Boolean previousIns
erts)
Row: GenericOID@1ebe2d8e RTVirtualMachine ID=79
UPDATE [VirtualMachines] SET [BootFree] = ?, [BootTotal] = ?, [DataFree] = ?, [D
ataTotal] = ?, [HostName] = ?, [IsActive] = ?, [Memory] = ?, [OsVersion] = ?, [P
rocessorTimeStamp] = ?, [ProcessorUsagePct] = ?, [UserCount] = ?, [VCpuCount] =
?, [VmName] = ? WHERE [ID] = ? AND [BootFree] = ? AND [BootTotal] = ? AND [DataF
ree] = ? AND [DataTotal] = ? AND [HostName] = ? AND [IsActive] = ? AND [Memory]
= ? AND [OsVersion] = ? AND [ProcessorTimeStamp] = ? AND [ProcessorUsagePct] = ?
 AND [UserCount] = ? AND [VCpuCount] = ? AND [VmName] = ?
Params: [@p0=0 @p1=0 @p2=0 @p3=0 @p4="RT-VM-Host7" @p5=1 @p6=11999 @p7=2008 @p8=
0001-01-01T00:00:00.0000000 @p9=0 @p10=24 @p11=5 @p12="TSERVER3" @p13=79 @p14=0
@p15=0 @p16=0 @p17=0 @p18="RT-VM-Host7" @p19=1 @p20=11999.0000000000 @p21=2008 @
p22=2015-12-01T12:58:35.5300000 @p23=0 @p24=25 @p25=5 @p26="TSERVER3"] System.Da
ta.SqlTypes.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:
00:00 AM and 12/31/9999 11:59:59 PM.

Usually when I got an exception, the parameters in the stack trace would look normal, showing @p1, @p2, etc etc but for this particular case they are all showing as question marks in the stack trace and I am not sure why or if it has anything to do with the error I am getting here.

The parameter in question is @p22, which as you can see is a DateTime that is well within the limits of the SqlDateTime, unless I am reading that wrong.

 What else could cause this?

1 Answer, 1 is accepted

Sort by
0
Emily
Top achievements
Rank 1
answered on 01 Dec 2015, 07:06 PM
Actually I just noticed that one of my date times is null which is defaulting to DateTime.Min in c#. I cannot edit my post or delete it but I think thats what my issue is.
Tags
General Discussions
Asked by
Emily
Top achievements
Rank 1
Answers by
Emily
Top achievements
Rank 1
Share this question
or