Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread *** URGENT *** Problem with ADO.NET 2.05 build 7
Fri, May 27 2011 10:53 AMPermanent Link

Hedley Muscroft

I have just upgraded from 2.04 build 4 -> 2.05 build 7.

Here's the full stack trace of the error I now get when simply trying to insert a record using an EDBDataAdapter :-
---------------------------------------------
Elevate.ElevateDB.Data.EDBException was unhandled by user code
 Message=Object reference not set to an instance of an object.
 Source=System.Data
 ErrorCode=9999
 ErrorColumn=0
 ErrorLine=0
 ErrorMsg=""
 StackTrace:
      at System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
      at System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
      at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
      at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows)
      at ClinicOffice.cDB.UpdateAdapter(DbDataAdapter Adapter, DataRow[] Rows, Boolean DoAcceptChanges) in E:\vs\source\CO_DB\CO_DB\cDB.cs:line 209
      at ClinicOffice.cDB_EDB.UpdateAdapter(DbDataAdapter Adapter, DataRow[] Rows, Boolean DoAcceptChanges) in E:\vs\source\CO_DB\CO_DB\cDB_EDB.cs:line 624
      at ClinicOffice.cDB.UpdateAdapter(DbDataAdapter Adapter, DataRow[] Rows) in E:\vs\source\CO_DB\CO_DB\cDB.cs:line 206
      at ClinicOffice.cDBBaseRec.Save() in E:\vs\source\CO_DB\CO_DB\cDBBaseRec.cs:line 228
...........
 InnerException: System.NullReferenceException
      Message=Object reference not set to an instance of an object.
      Source=Elevate.ElevateDB.Data
      StackTrace:
           at Elevate.ElevateDB.Data.Engine.TEDBRoutineParamReferenceValue.GetParamType()
           at Elevate.ElevateDB.Data.Engine.TEDBRoutineParamReferenceValue.get_ParamType()
           at Elevate.ElevateDB.Data.Engine.TEDBInsertManager.Execute()
           at Elevate.ElevateDB.Data.Engine.TEDBLocalStatementManager.Execute()
           at Elevate.ElevateDB.Data.EDBCommand.Execute()
---------------------------------------------

WHY SO URGENT?

Foolishly, I fully tested my app with 2.04 then at the last moment decided to recompile it with the latest EDB release at the last moment. I then sent out a program update to customers. This has now updated their 'EDB metadata' from 2.04 to 2.05 hence I can't roll them back to the previous version of my application and they can't save records in their databases. Bottom line? We're in FULL CRISIS mode!!!!

Here is a test application I have just created in C# (VS 2010) which demonstrates and reproduces the problem :-
http://www.pioneersoftware.co.uk/files/temp/ElevateDB_Test.7z

and here is a database to test it with :-
http://www.pioneersoftware.co.uk/files/temp/Sample_Database.7z

Please let me know if there's ANYTHING I can do to assist as this is really urgent.

Many thanks!
Fri, May 27 2011 11:15 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Hedley


I use Delphi so I'm guessing.

You could have encountered a breaking change in that objects now have to be quoted. From the release notes

You must now use string expressions for column references in the SQL/PSM cursor
FETCH, INSERT, and UPDATE statements. Existing routines (functions, procedures, triggers, jobs) in existing configurations and database catalogs will still function properly using the old syntax, but will require the new syntax as soon as they are altered. Routines that are created with 2.04 or higher, and non-persistent routines such as scripts, will require the new syntax.


If that's not it I suggest you PHONE Tim directly (as long as your support plan is up to date)

Roy Lambert [Team Elevate]
Wed, Jun 1 2011 7:56 AMPermanent Link

Hedley Muscroft

Thanks for your suggestions Roy - it was in fact an EDB bug and Tim has fixed it in build 8.
Image