Page 1 of 1

EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'

Posted: Mon 17 Jan 2005 11:55
by B4rT
I'm using SDAC 3 (History.txt: 3.00.2.9 23.11.04) with Delphi 6 and I have problem with TMSStoredProc component.

When I'm opening stored procedure (by using TMSStoredProc component) for the second time and one of it's params changed the following error shows up:
"EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'"

Closely:
When I'm executing (Open) stored proc for the first time - everything is OK (regardless the param value: TRUE/FALSE).
When I calling stored proc for the second time and param value chenged (from FALSE to TRUE, or from TRUE to FALSE) I have the error.

One more thing:
When I calling the this stored procedure by MSQuery component (by setting sql.text := 'exec ...') - NOT by MSStoredProc component - then everything is fine: subsequent calls executing without errors, even when mentioned parameter value is changing.

Any soluntion?

Posted: Mon 17 Jan 2005 12:03
by Ikar
Please supply us exact SDAC version (3.XX.XX.XX).

EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'

Posted: Mon 17 Jan 2005 12:11
by B4rT
First line of History.txt file in my SDAC folder says: 3.00.2.9 23.11.04

Re: EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'

Posted: Tue 18 Jan 2005 09:12
by Ikar
We couldn't reproduce the problem.
Please send us complete small sample to demonstrate it and include script to create server objects.

Same error

Posted: Wed 09 Mar 2005 12:00
by Olivier Olmer
We have exactly the same problem in our application. In this application 60 users are working and once a week we get this errormessage only at the same computers. It cannot find the fielddescription of a field. We changed also the code a couple lines above, because of sometimes a list out of bounds exception. The problem occurs at the last asser.

See:MSAccess.Pas:
function TCustomMSDataSet.GetFieldDescByField(Field: TField): TOLEDBFieldDesc;
var
i: integer;
begin
...

Assert(Result nil);
//Result := TOLEDBFieldDesc(FIRecordSet.FieldByName(Field.FieldName));
//CompareText Assert(Field.FieldName = Result.Name, Format('Field.FieldName FieldDesc.Name'#13'"%s" "%s"'#13, [Field.FieldName, Result.Name]));
end;

Re: Same error

Posted: Thu 10 Mar 2005 12:30
by Ikar
This information isn't enough to reproduce an fix the problem. Please send complete small sample to our support email.

assertion problem at line 3395

Posted: Wed 23 Mar 2005 08:41
by Olivier Olmer
Refreshing in the doafterpost event seems to put the dataset in edit mode and post it again. Some parameters seems to be modified after doing this. Integer field with value null will become 0. We do not know yet if this leeds to this assertion failure.