Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread Upgrade 2.19 from 2.11 - Error 100
Fri, Jun 19 2015 6:09 AMPermanent Link

Laszlo Szabo

Dear Support!

We are trying to upgrade our source codes from 2.11 to 2.19.
We have own packages.
When I try to install one of my packages, the build is ok, but to the install menu I got this:

---------------------------
Error
---------------------------
ElevateDB Error #100 There is an error in the metadata for the catalog EDB_LOCAL_DB (The character set does not match the character set in use by the engine).
---------------------------
OK   
---------------------------

What's the hell this?

I don't run the program, I don't open database, I want to only install a package that contains EDB components (and maybe an engine/session components in a form).

Can you help me?

Thanks: LSZ
Fri, Jun 19 2015 6:58 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Laszlo


Tim modified the sources so that ANSI & unicode are in the same package (in 2.15 I think). You will need to set the property CharacterSet in the engine.

There should be a utility in <InstallDir>\utils\edbfixunicode\win32 to sort out EDBManager


Roy Lambert
Fri, Jun 19 2015 8:20 AMPermanent Link

Laszlo Szabo

Dear Roy!

>Roy Lambert wrote:
>Laszlo
>Tim modified the sources so that ANSI & unicode are in the same package (in 2.15 I think).
>You will need to set the property CharacterSet in the engine.

I set the CharacterSet to existing Engine object.
The next package installation the errormessage changed:

---------------------------
Error
---------------------------
ElevateDB Error #100 There is an error in the metadata for the configuration EDBConfig (The encryption password does not match the default or current engine encryption password, which may be caused by the character set not matching the character set in use by the engine).
---------------------------
OK   
---------------------------

Hmmm... The Engine's ConfigPath doesn't exist. So this could not be the source of the problem.
But what I need to search then?
It is a simple package, no program, and we use the Default session.

Thanks for any help!
Fri, Jun 19 2015 8:21 AMPermanent Link

Raul

Team Elevate Team Elevate

On 6/19/2015 6:09 AM, Laszlo Szabo wrote:
> ElevateDB Error #100 There is an error in the metadata for the catalog EDB_LOCAL_DB (The character set does not match the character set in use by the engine).

Clearly it is attempting to open something here.

> What's the hell this?

Read the release notes!

Specifically see notes for version 2.15 - to add to what Roy said there
are details on what you need to run.

In general you want to review this file any and especially "breaking
changes" and "new features" sections between 2.12 and 2.19 as there
might be others thing that could impact your app.

Raul
Fri, Jun 19 2015 8:32 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Laszlo

This is a bit like trying to guess the results of the lottery.


>---------------------------
>Error
>---------------------------
>ElevateDB Error #100 There is an error in the metadata for the configuration EDBConfig (The encryption password does not match the default or current engine encryption password, which may be caused by the character set not matching the character set in use by the engine).
>---------------------------
>OK
>---------------------------
>
>Hmmm... The Engine's ConfigPath doesn't exist. So this could not be the source of the problem.

If something is trying to open the engine, UseLocalSessionEngineSettings is False and the ConfigPath doesn't exist it will certainly give a problem.

>But what I need to search then?
>It is a simple package, no program, and we use the Default session.

I have no idea. If its not to big, or confidential post the source in the binaries and I'll have a look. Even that's not guaranteed but to different versions of Delphi and unicode vs ansi.

Roy Lambert
Fri, Jun 19 2015 11:58 AMPermanent Link

Laszlo Szabo

>If something is trying to open the engine, UseLocalSessionEngineSettings is False and the ConfigPath doesn't exist
>it will certainly give a problem.

Firstly I thought it is based on any form that opens a dataset and it's indirectly opens the db/session/engine.

But I found a shared unit which create/open a local temp database on unit's initialization.
The package loading run the unit's init section, and this causes the problem.

I have tested this unit in a normal application - and it is working... Frown

So now I'm trying to identify why the BPL mode is different. Only one component isn't created: the engine...
But I don't know why the normal app CAN create the database, and why the BPL shows me that error...

Maybe the solution is if I defer this local db's creation. This database originally created for speeding up the data handling, and to we can use it without central server...
Fri, Jun 19 2015 12:10 PMPermanent Link

Raul

Team Elevate Team Elevate

On 6/19/2015 11:58 AM, Laszlo Szabo wrote:
> So now I'm trying to identify why the BPL mode is different. Only one component isn't created: the engine...

You cannot create multiple engines - there is a default engine that is
created automatically (access it thru global Engine function from
anywhere).  Any engine component you drop simply refers to the same
instance.

> But I don't know why the normal app CAN create the database, and why the BPL shows me that error...

Only thing i can think of is that your BPL engine component has
incomplete configuration at that point.

I'd start by checking what specific settings you are configuring for the
engine later on and compare with the default engine settings when you
get the error.

Raul

Sat, Jun 20 2015 3:00 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Laszlo


The additional information immediately gives me one idea - have you recompiled the bpl?

If so and the problem persists it could well be a simple matter of timing. I'm guessing wildly here but if statically linked its initialisation section could be executed before you've set the parameters for the engine.

Roy Lambert
Image