Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 3 of 3 total |
EDB 2.02 b11 problem |
Thu, Apr 9 2009 11:59 AM | Permanent Link |
"Hedley Muscroft" | Hi Tim,
Thanks for the Build 11 update - the fixes are much appreciated. However, I just migrated a customer from DBISAM 4 to EDB 2.02 b11 using the latest unicode migrator. On trying to fill a DataTable from a DataAdapter, I get the following error :- --------------------------------------- System.ArgumentException Not a legal OleAut date. at System.DateTime.DoubleDateToTicks(Double value) at System.DateTime.FromOADate(Double d) at Borland.Delphi.TDateTime.FromOADate(Double AValue) at Borland.Delphi.TDateTime.op_Implicit(Int32 AValue) at Elevate.ElevateDB.Data.Engine.Units.edbdatetime.TimeStampToDateTime(TTimeStamp$edbdatetime ATimeStamp) at Elevate.ElevateDB.Data.Engine.Units.edbdatetime.TimeStampToNativeDateTime(Int64 TimeStamp) at Elevate.ElevateDB.Data.Engine.TEDBValue.GetAsDateTime() at Elevate.ElevateDB.Data.Engine.TEDBValue.get_AsDateTime() at Elevate.ElevateDB.Data.Engine.TEDBValue.GetAsVariant() at Elevate.ElevateDB.Data.EDBDataReader.GetValues(Object[] Values) at System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values) at System.Data.ProviderBase.SchemaMapping.LoadDataRow() at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at ClinicOffice.cDB_EDB.FillTable(DataTable Table, String SQL) --------------------------------------- I tried running a DBISAM repair on all their tables, then I did the migration again, and then I ran an EDB repair on all tables. Unfortunately the same error still persists. I did all this remotely (via LogMeIn) so what I'm now trying to do is get hold of a copy of their database to see if I can reproduce the problem here. Time is pressing on this one so I just thought I'd ask if you have any idea from the stack trace what may be causing the problem? Thanks! |
Thu, Apr 9 2009 6:00 PM | Permanent Link |
"Hedley Muscroft" | On researching this further I found some good explanations here :-
http://stackoverflow.com/questions/310700/meaning-of-exception-in-c-app-not-a-legal-oleaut-date I don't know why this problem would be flagged up only after migrating from DBISAM 4 to EDB, but it does - and it also only shows up as a problem in the ADO.NET (no problem in EDB Manager or Delphi <sigh>). Anyway - I investigated the table in question and (eventually) found a date in the year 0008. Removing the invalid values fixed the problem. In case it helps anyone else, I used the following SQL :- update tbl set datefld = null where (extract(year from datefld) < 1000) or (extract(year from datefld) > 3000); Thought I'd post this in case it's of use to anyone else. Regards, Hedley |
Mon, Apr 13 2009 8:30 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Hedley,
<< Thought I'd post this in case it's of use to anyone else. >> Very much so - thanks for the update. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Monday, May 6, 2024 at 12:23 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |