![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM Client/Server » View Thread |
Messages 1 to 10 of 11 total |
![]() |
Tue, Dec 1 2020 4:10 AM | Permanent Link |
Steve Williamson Foresiight Software | DBISAM version 4.49.2
DBISAM Database Server - DBSRVR (Service) version 4.49.0.2 With a client/server session, when reading a TMemoField.AsString (or .Value for that matter) I am receiving a "DBISAM Engine Error #11308 An invalid or unknown request was made to database server". This was not occurring previously when I had DBSRVR version 4.48.0.3 installed. Are there any settings I could change to correct this issue? Steve Williamson Attachments: DBISAM TMemoField error 11308.png |
Tue, Dec 1 2020 8:22 AM | Permanent Link |
Raul ![]() | On 12/1/2020 4:10 AM, Steve Williamson wrote:
> DBISAM version 4.49.2 > DBISAM Database Server - DBSRVR (Service) version 4.49.0.2 > > With a client/server session, when reading a TMemoField.AsString (or .Value for that matter) I am receiving a "DBISAM Engine Error #11308 An invalid or unknown request was made to database server". > > This was not occurring previously when I had DBSRVR version 4.48.0.3 installed. > > Are there any settings I could change to correct this issue? What is the code doing when this happens ? This error usually indicates a problem problem with app - for example session used by multiple threads or such. However more info needed Raul |
Tue, Dec 1 2020 8:53 AM | Permanent Link |
Roy Lambert NLH Associates ![]() | Steve
I agree with Raul. There's also my first thought - corrupt data. I used to get this sort of problem with a corrupt jpg in a memo field. Just repairing the table won't fix it I used to have to write a small app just to run through displaying the images and reporting when it bombed. Roy Lambert |
Tue, Dec 1 2020 10:34 PM | Permanent Link |
Steve Williamson Foresiight Software | I have managed to narrow down how to reproduce this a bit better.
Using a Client/Server database, attach an OnFilterRecord event to a table that has a TMemoField. Now, when calling Table.Open, it gives the error mesasge #11308 It doesn't seem to require accessing the MemoField AsString or Value, that's just how I first encountered it. I replaced the OnFilterEvent on my application with a .Filter property, and it now opens the table correctly and reads the memo field values. Unfortunately, there still a large number of other OnFilterRecord events in the app. Roy Lambert wrote: Steve I agree with Raul. There's also my first thought - corrupt data. I used to get this sort of problem with a corrupt jpg in a memo field. Just repairing the table won't fix it I used to have to write a small app just to run through displaying the images and reporting when it bombed. Roy Lambert Steve Williamson |
Wed, Dec 2 2020 12:10 AM | Permanent Link |
Raul ![]() | On 12/1/2020 10:34 PM, Steve Williamson wrote:
> I have managed to narrow down how to reproduce this a bit better. > > Using a Client/Server database, attach an OnFilterRecord event to a table that has a TMemoField. > Now, when calling Table.Open, it gives the error mesasge #11308 Are you doing anything special in the event ? I tried it here with a table i have with memos and it opens fine with no exception. Onfilterrecord does get called but i'm just setting accept to true for now 4.49 build 2 for app and for dbsrvr Raul |
Wed, Dec 2 2020 1:29 AM | Permanent Link |
Steve Williamson Foresiight Software | My apologies,
The OnFilterEvent does need to read the value of the TMemoField. I thought I had ruled out this requirement, but I was mistaken. I have attached modifications to the CDCollector example application data.pas file which demonstrate this issue. You will need to set up an appropriately named client/server database with SrvAdmin.exe of course. Raul wrote: On 12/1/2020 10:34 PM, Steve Williamson wrote: > I have managed to narrow down how to reproduce this a bit better. > > Using a Client/Server database, attach an OnFilterRecord event to a table that has a TMemoField. > Now, when calling Table.Open, it gives the error mesasge #11308 Are you doing anything special in the event ? I tried it here with a table i have with memos and it opens fine with no exception. Onfilterrecord does get called but i'm just setting accept to true for now 4.49 build 2 for app and for dbsrvr Raul Steve Williamson Attachments: data.zip |
Wed, Dec 2 2020 9:23 AM | Permanent Link |
Raul ![]() | On 12/2/2020 1:29 AM, Steve Williamson wrote:
> My apologies, > The OnFilterEvent does need to read the value of the TMemoField. > I thought I had ruled out this requirement, but I was mistaken. Thanks - that allows to duplicate it here as well > I have attached modifications to the CDCollector example application data.pas file which demonstrate this issue. > You will need to set up an appropriately named client/server database with SrvAdmin.exe of course. Sample is using a field component in a callback function which i personally prefer not to do. However using the dataset provided as input param also results in the same issue (i.e. DataSet.FieldByName(<mymemofield>).AsString). I tried dbsrvr 4.481b6 available and that one is OK dbsrvr 4.49 b1 and b2 both have the issue. We'll need Tim to take a look and provide fix in the next build Raul |
Wed, Dec 2 2020 10:37 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Steve,
<< With a client/server session, when reading a TMemoField.AsString (or .Value for that matter) I am receiving a "DBISAM Engine Error #11308 An invalid or unknown request was made to database server". This was not occurring previously when I had DBSRVR version 4.48.0.3 installed. >> This was due to this fix that restricted what could be called from a server callback because of the potential for state corruption in the DBISAM Database Server: https://www.elevatesoft.com/incident?action=viewaddr&category=dbisam&release=4.48&incident=4765 However, not permitting BLOBs to be read was not supposed to be one of the forbidden calls, so I will get that fixed and get a fix out ASAP. Thanks ! Tim Young Elevate Software www.elevatesoft.com |
Wed, Dec 2 2020 8:20 PM | Permanent Link |
Steve Williamson Foresiight Software | Thanks everyone for your help.
Since this is only an issue for TMemoField access inside an OnFilterRecord event, there are only few instances in my code. I shall be converting each of them to use the Filter property (so I can continue releasing this week). Steve Williamson |
Wed, Dec 9 2020 11:28 PM | Permanent Link |
Steve Williamson Foresiight Software | I have come across a related but slightly different case.
Your fix may already address this. Or it may be an intended restriction. With client/server, calling TableB.FindKey from within TableA.OnFilterRecord also results in Error #11308. This seems to be the case even if neither table has a TMemoField member. I'm including a CDCollector example again. I will be changing the example I've found in my code, but I don't know yet how widespread this pattern might be. You get what you get with legacy systems sometimes. Tim Young [Elevate Software] wrote: Steve, << With a client/server session, when reading a TMemoField.AsString (or .Value for that matter) I am receiving a "DBISAM Engine Error #11308 An invalid or unknown request was made to database server". This was not occurring previously when I had DBSRVR version 4.48.0.3 installed. >> This was due to this fix that restricted what could be called from a server callback because of the potential for state corruption in the DBISAM Database Server: https://www.elevatesoft.com/incident?action=viewaddr&category=dbisam&release=4.48&incident=4765 However, not permitting BLOBs to be read was not supposed to be one of the forbidden calls, so I will get that fixed and get a fix out ASAP. Thanks ! Tim Young Elevate Software www.elevatesoft.com Attachments: data (2).zip |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Wednesday, August 14, 2024 at 03:12 PM | Privacy Policy![]() © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |