Board index » delphi » Bug alert - BDE 2.52 causes table corruption

Bug alert - BDE 2.52 causes table corruption

Quote

> In article <32C8DDA4.4...@gadata.ab>, gun...@gadata.ab says...

> >Svein Olav Mytting wrote:

> >> Is there any chance that you use Paradox files with one or more secondary
> >> indexes?
> >> And, do you think some users may input one or more international
> characters,
> >> beyond ASCII 127, into your tables? (like E with accents, German umlauts,
> >> Scandinavian characters, etc...)
> >> .....
> >> I have checked this with 16-bit BDE 2.52 (the last one) only, and I do
> not...

> You should specify the table language as Paradox ANSI Intl so that character
> conversions aren't done. I am not convinced that it is a corruption problem -
> it sounds like DBIANSIToNative is causing characters to be converted. Setting
> the language driver of the table to an ANSI character set (ANSI Intl works for
> us) then DBIAnsiToNative doesn't get called for translation.

> To set the table language, use the Database Desktop.

Which BDE driver do do use?

The problem persists with ANSI drivers as well as others. I have tested
with Pdox Ansi Intl as well as Pdox Ansi NorDan4.

There seems however, to be confusion as to whether the problem is limited
to BDE 2.52. Somebody said it also exists with newest 32-bit BDE.

 

Re:Bug alert - BDE 2.52 causes table corruption


Svein Olav Mytting <bolle...@telepost.no> wrote:

Quote

<snip>

>Which BDE driver do do use?

>The problem persists with ANSI drivers as well as others. I have tested
>with Pdox Ansi Intl as well as Pdox Ansi NorDan4.

>There seems however, to be confusion as to whether the problem is limited
>to BDE 2.52. Somebody said it also exists with newest 32-bit BDE.

[USING BDE 2.5 - that shipped with Delphi 2.01]

Interesting. I myself live in sweden and are using the "swedfin".

At this very moment I would create some tables with the &oslash;
character in. I decided to change the default table language driver
for paradox to "nordan". It did indeed change in the BDECFG utility,
but watch my registry:

The first key here is -- indeed -- also the key to the solution of at
least my problem. BDECFG does NOT change this key, although it's used
by the BDE. That's what I call a bug!

If I change [... DRIVERS\PARADOX\INIT] myself to "nordan" it works
perfectly, i.e. my table creates with "nordan" default as default
language driver.

My question for you is, isn't there a way in Delphi [with code] to set
the language driver for a table. Or must you then use the unsupported
BDEAPI toolkit with "NO WARRANTIES" (I'm scared).

My solution for now is to read the registry keys, change them and then
store the old ones back. {*word*127}, but what to do?

/Magnus

----------------

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database
Engine\Settings\DRIVERS\PARADOX\INIT]
"VERSION"="1.0"
"TYPE"="FILE"
"LANGDRIVER"="swedfin"
              ^^^^^^^  ----------This is not changed by BDECFG

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database
Engine\Settings\SYSTEM\INIT]
"VERSION"="1.0"
"LOCAL SHARE"="FALSE"
"MINBUFSIZE"="128"
"MAXBUFSIZE"="2048"
"LANGDRIVER"="nordan"
              ^^^^^^^
"MAXFILEHANDLES"="48"
"SYSFLAGS"="0"
"LOW MEMORY USAGE LIMIT"="32"
"AUTO ODBC"="FALSE"
"DEFAULT DRIVER"="PARADOX"
"SQLQRYMODE"=""
"SHAREDMEMSIZE"="2048"
"SHAREDMEMLOCATION"=""
"DATA REPOSITORY"="Sample Data Dictionary"

Re:Bug alert - BDE 2.52 causes table corruption


In article <32eeb58f.487938...@news1.telenordia.se>,
  Magnus.Bo...@tychonides.se (Magnus Bodin) wrote:

Quote

> Svein Olav Mytting <bolle...@telepost.no> wrote:
> <snip>
> >Which BDE driver do do use?

> >The problem persists with ANSI drivers as well as others. I have tested
> >with Pdox Ansi Intl as well as Pdox Ansi NorDan4.

> >There seems however, to be confusion as to whether the problem is limited
> >to BDE 2.52. Somebody said it also exists with newest 32-bit BDE.

> [USING BDE 2.5 - that shipped with Delphi 2.01]

Then you should not have my problem, for sure.

Quote
> Interesting. I myself live in sweden and are using the "swedfin".

> At this very moment I would create some tables with the &oslash;
> character in. I decided to change the default table language driver
> for paradox to "nordan". It did indeed change in the BDECFG utility,
> but watch my registry:

> The first key here is -- indeed -- also the key to the solution of at
> least my problem. BDECFG does NOT change this key, although it's used
> by the BDE. That's what I call a bug!

> If I change [... DRIVERS\PARADOX\INIT] myself to "nordan" it works
> perfectly, i.e. my table creates with "nordan" default as default
> language driver.

> My question for you is, isn't there a way in Delphi [with code] to set
> the language driver for a table. Or must you then use the unsupported
> BDEAPI toolkit with "NO WARRANTIES" (I'm scared).

> My solution for now is to read the registry keys, change them and then
> store the old ones back. {*word*127}, but what to do?

I am afraid I can't help you out there. I am confused already with the BDE
config: What is the difference between the Langdriver setup on the front page
(drivers page), and the Langdriver on the system page?

-------------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet

Other Threads