Assertion failure OLEDBAccess.pas line 4260
-
- Posts: 15
- Joined: Tue 21 Aug 2007 22:14
Assertion failure OLEDBAccess.pas line 4260
I'm running SDAC (4.35 - 4.50 doesn't work for me yet) in an environment with multiple users over the internet with polling=true and once in a while (2 times pr 10 users a day) I get this Assertion failure OLEDBAccess.pas line 4260. I think I have to invest in SDAC with source code to find out the exact cause of the error.
Meanwhile, I was wondering if you could give me a hint or something to find the cause of the error. It's when running a query (Open or Active=true).
I use threads where in which I uses a new connection and I don't know if that could cause the error.
Thanks,
Lasse Laegteskov
Meanwhile, I was wondering if you could give me a hint or something to find the cause of the error. It's when running a query (Open or Active=true).
I use threads where in which I uses a new connection and I don't know if that could cause the error.
Thanks,
Lasse Laegteskov
> 4.50 doesn't work for me yet
Recently we have released the new build of SDAC 4.50. Could you test this issue with the latest SDAC? If you cannot, please specify by what reasons.
> I use threads where in which I uses a new connection and I don't know if that could cause the error.
This is the correct approach for using SDAC in multithreaded application. Other components (TMSQuery, TMSStoderProc, etc.) also must not be used in more than one thread simultaneously.
Recently we have released the new build of SDAC 4.50. Could you test this issue with the latest SDAC? If you cannot, please specify by what reasons.
> I use threads where in which I uses a new connection and I don't know if that could cause the error.
This is the correct approach for using SDAC in multithreaded application. Other components (TMSQuery, TMSStoderProc, etc.) also must not be used in more than one thread simultaneously.
-
- Posts: 15
- Joined: Tue 21 Aug 2007 22:14
I tried version 4.50, but when I installed it and run my application it started up with an assertion failure.
I have an open connection to two different databases and something in the new version gives another error and I didn't have time to examine the problem.
I give it a try and installed the 4.50 and return with that error.
Lasse
I have an open connection to two different databases and something in the new version gives another error and I didn't have time to examine the problem.
I give it a try and installed the 4.50 and return with that error.
Lasse
-
- Posts: 15
- Joined: Tue 21 Aug 2007 22:14
With 4.50 i get this error:
Assertion failure (D:\Projects\Delphi\Sdac\Source\MSServices.pas, line 1380).
I haven't change a line of code from version 4.35 to 4.50 in this section of my application and 4.35 works. So it seems I'm stuck with version 4.35.
In the application I open up 2 connections to two different databases and I'm trying to post to one of them. That's about it - I will see if I can generate a stand-alone app to help you out.
I know that this isn't much help and if there is any way I could to give you any more help please ask.
Assertion failure (D:\Projects\Delphi\Sdac\Source\MSServices.pas, line 1380).
Code: Select all
Query:=TMSQuery.Create(self);
Query.Connection:=FormInfoData.SystemDB;
Query.SQL.Add('SELECT * FROM LoginLog');
Query.Open;
Query.Append;
Query.FieldByName('ClientID').AsInteger:=GetClientID;
Query.FieldByName('UserID').AsInteger:=GetUserID;
Query.FieldByName('SessionID').AsInteger:=SessionID;
Query.FieldByName('CreatedClientTime').AsDateTime:=Now;
Query.FieldByName('Minutes').AsInteger:=Minutes;
Query.Post; << assertion error
In the application I open up 2 connections to two different databases and I'm trying to post to one of them. That's about it - I will see if I can generate a stand-alone app to help you out.
I know that this isn't much help and if there is any way I could to give you any more help please ask.
-
- Posts: 15
- Joined: Tue 21 Aug 2007 22:14
-
- Posts: 15
- Joined: Tue 21 Aug 2007 22:14
I don't think I can because the error in line 4260 is periodic. I have bought SDAC with source and today I got an related error:
It sometimes can't get the connection. I think the problem is that I run in Disconnected mode because my application runs on many clients over the internet so I thought that was a pretty neat idea, but it seems to create more problems than it solves. I'll try to run a couple of days with Disconnected disabled (still polling though) and see what impact it has on the system.
I have Eurekalog installed and can provide you with this information if it helps?
Kind regards,
Lasse Laegteskov
Code: Select all
function TCustomMSDataSetService.GetIConnection: TOLEDBConnection;
begin
Result := TOLEDBConnection(TDBAccessUtils.GetIConnection(UsedConnection));
Assert(Result nil); <<< assert here
end;
I have Eurekalog installed and can provide you with this information if it helps?
Kind regards,
Lasse Laegteskov
-
- Posts: 15
- Joined: Tue 21 Aug 2007 22:14
Update:
The assertion error appears on highly unstable networks and I have played around with DisconnectMode:=True/False and other settings.
Actually SDAC does a very good at keeping the connection. E.g. when I unplug the network cable an error appears and after pressing OK and plug the cable in again the application continues as nothing has happend.
I can't force the assertion to appear on my network, so it's difficult to track the error down right now. I'll have to wait until another user has the problem again and send me the Eurekalog-error. With the source code I get much more information.
The assertion error appears on highly unstable networks and I have played around with DisconnectMode:=True/False and other settings.
Actually SDAC does a very good at keeping the connection. E.g. when I unplug the network cable an error appears and after pressing OK and plug the cable in again the application continues as nothing has happend.
I can't force the assertion to appear on my network, so it's difficult to track the error down right now. I'll have to wait until another user has the problem again and send me the Eurekalog-error. With the source code I get much more information.