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?
EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'
EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'
Last edited by B4rT on Mon 17 Jan 2005 12:08, edited 2 times in total.
EAssertionFailed 'Assertion failure (D:\Projects\Delphi\Sdac\Source\MSAccess.pas, line 3496)'
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)'
We couldn't reproduce the problem.
Please send us complete small sample to demonstrate it and include script to create server objects.
Please send us complete small sample to demonstrate it and include script to create server objects.
Same error
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;
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
This information isn't enough to reproduce an fix the problem. Please send complete small sample to our support email.
-
- Posts: 8
- Joined: Wed 09 Mar 2005 12:11
assertion problem at line 3395
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.