Subject | Re: [firebird-support] intermittent errors with what seems to be server speed issues? |
---|---|
Author | Helen Borrie |
Post date | 2009-07-21T22:39:49Z |
At 05:22 AM 22/07/2009, bwc3068 wrote:
Since this is mostly off-topic here, I won't repost all your original details, just make some comments.
1. IBO 4.8.7 was a substantial revamping to support the API changes in Fb 2.1. While the client library in Fb 2.1 is backward-compatible with older servers, the reverse isn't true. If your customers' installations of your application are accessing the v.2.1 database server using an older client library it is not at all unlikely that your IBO 4.8.7 application will be having AVs.
2. "..getting AVs" is not helpful. Ask them, when they see AV messages, to tell you the name of the module where the AV occurs.
3. If you haven't done so already, study the notes and warnings about the MSVC8 runtimes in the Installation and Migration Guide. You don't mention which evolution of v.2.1 is in use...but the most up-to-date and complete coverage of the MSVC8 issues can be obtained from the v.2.1.2 version of the document, downloadable from the Documentation Index page of the Firebird website.
4. Also read and understand the field qualifier changes in the Migration section of the same document. A lot of "lazy" query syntaxes are not valid in 2.1 any more. IBO 4.8.7 addresses this but it won't be effective if your SQL doesn't comply with the stricter v.2.1 rules. (As a rule of thumb, use of SELECT * queries in applications has the smell of "lazy" or "neglected" syntax about it...)
5. As for the unreferenced column issue - this will be occurring because of a mismatch on the client side. If it's occurring as a result of a SELECT * query, it is probably from a pre-IBO 4.8.7 field reference for an older version of Firebird, that's hard-coded somewhere, probably in the DFM file.
It's off-topic here but, if you are using the TDataset-compatible components (as one could suspect from the obscure temporary field name in the error report), a likely place to look is in the TField objects. The usual way to fix that is to delete the field objects and re-add them. If you didn't attend to that during your code upgrade, it *will* keep biting you.
You should get some more clues by reading through the IBO 4.8.7 release notes, including references not just to changes made for Fb 2.1 but all changes since the older IBO version that was installed in Delphi before you started upgrading your apps.
./heLen
(also wearing the ^heLen^ hat - take Delphi/IBO-related questions to the IBO list)
>hi all--Mostly off-topic here.
>
>I'm not sure if this should be in this group or not, but, i'll take a shot.
>i'm using FB 2.1, IBO 4.8.7 and D6This has nothing to do with server speed.
>
>it's tough to put a finger on the "problem" because it's not a constant issue. on my computer when i run the application against the DB's i've received from my customers, I never see the problem.
Since this is mostly off-topic here, I won't repost all your original details, just make some comments.
1. IBO 4.8.7 was a substantial revamping to support the API changes in Fb 2.1. While the client library in Fb 2.1 is backward-compatible with older servers, the reverse isn't true. If your customers' installations of your application are accessing the v.2.1 database server using an older client library it is not at all unlikely that your IBO 4.8.7 application will be having AVs.
2. "..getting AVs" is not helpful. Ask them, when they see AV messages, to tell you the name of the module where the AV occurs.
3. If you haven't done so already, study the notes and warnings about the MSVC8 runtimes in the Installation and Migration Guide. You don't mention which evolution of v.2.1 is in use...but the most up-to-date and complete coverage of the MSVC8 issues can be obtained from the v.2.1.2 version of the document, downloadable from the Documentation Index page of the Firebird website.
4. Also read and understand the field qualifier changes in the Migration section of the same document. A lot of "lazy" query syntaxes are not valid in 2.1 any more. IBO 4.8.7 addresses this but it won't be effective if your SQL doesn't comply with the stricter v.2.1 rules. (As a rule of thumb, use of SELECT * queries in applications has the smell of "lazy" or "neglected" syntax about it...)
5. As for the unreferenced column issue - this will be occurring because of a mismatch on the client side. If it's occurring as a result of a SELECT * query, it is probably from a pre-IBO 4.8.7 field reference for an older version of Firebird, that's hard-coded somewhere, probably in the DFM file.
It's off-topic here but, if you are using the TDataset-compatible components (as one could suspect from the obscure temporary field name in the error report), a likely place to look is in the TField objects. The usual way to fix that is to delete the field objects and re-add them. If you didn't attend to that during your code upgrade, it *will* keep biting you.
You should get some more clues by reading through the IBO 4.8.7 release notes, including references not just to changes made for Fb 2.1 but all changes since the older IBO version that was installed in Delphi before you started upgrading your apps.
./heLen
(also wearing the ^heLen^ hat - take Delphi/IBO-related questions to the IBO list)