Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 11 total
Thread Character sets etc
Sun, Feb 3 2013 9:20 PMPermanent Link

Aaron Christiansen

So my other laptop died, Partial HDD failure.

I managed to save my Delphi code and the database, but think I might be missing a config file or something. I've downloaded and installed latest admin app, but when I try to open the database that is now a couple of years old, I get the following:

---------------------------
ElevateDB Manager (Unicode)
---------------------------
ElevateDB Error #100 There is an error in the metadata for the catalog <my database> (The character set does not match the character set in use by the engine)
---------------------------
OK   
---------------------------


Not only that, for the life of me I cannot remember how to set up the database with a password, etc.

No doubt lots of people will leap to your defense, and sing the praises of ElevateDB, etc, but man, this is hitting the too hard basket harder than a comet. I remember the hoops I had to jump through to set up the encryption password last time, and now - because once it worked I didn't do it again, nothing, no memory of what I did or anything.

Had to go with the UNicode db hence ElevateDB.

Any links, tips or pointers much appreciated.
Sun, Feb 3 2013 11:25 PMPermanent Link

Raul

Team Elevate Team Elevate

On 2/3/2013 9:20 PM, Aaron Christiansen wrote:
> So my other laptop died, Partial HDD failure.

Ouch.

> ElevateDB Error #100 There is an error in the metadata for the catalog <my database> (The character set does not match the character set in use by the engine)

Usually this means one is ANSI and other in Unicode. Are you sure you're
running Unicode edbmanager? (i assume db is unicode as per comment later
on).

Other alternative is that the catalog is corrupted. You might be able to
rename the .old back to .edbcat (make sure you backup everything before
you do). If the issue is corruption then emailing the catalog and .old
to Tim (support email) is advisable so he can take a look as well and
help with recovery.


> Not only that, for the life of me I cannot remember how to set up the database with a password, etc.
Generally you'd use TEDBEngine.EncryptionPassword

(http://www.elevatesoft.com/manual?action=viewprop&id=edb2&product=rsdelphiwin32uni&version=XE2&comp=TEDBEngine&prop=EncryptionPassword)

and if using EDBServer then use "Encryption Password" config option.
(http://www.elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=Starting_Configuring_Server)

Raul
Mon, Feb 4 2013 12:01 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Aaron,

<< I managed to save my Delphi code and the database, but think I might be
missing a config file or something. I've downloaded and installed latest
admin app, but when I try to open the database that is now a couple of years
old, I get the following: >>

That message means what it says:  you're trying to open an ANSI database
using the Unicode version of EDB.

<< Not only that, for the life of me I cannot remember how to set up the
database with a password, etc. >>

Databases don't have passwords.  Do you mean the encryption password for the
engine ?  If so, then see below.

<< No doubt lots of people will leap to your defense, and sing the praises
of ElevateDB, etc, but man, this is hitting the too hard basket harder than
a comet. >>

What are you comparing ElevateDB to here ?  If it's DBISAM, then you're
comparing a product that has two different versions (ANSI and Unicode) to
one that has one (ANSI).  If we came out with a Unicode version of DBISAM
(which we aren't), you'd have the same issue if you mixed tables created
using one with the other.  This is the nature of development as the entire
computing world slowly moves from one character set to the other.  Pretty
soon ANSI will be gone and we'll be back to one again, and the problem will
solve itself.

<< I remember the hoops I had to jump through to set up the encryption
password last time, and now - because once it worked I didn't do it again,
nothing, no memory of what I did or anything. >>

http://www.elevatesoft.com/supportfaq?action=view&category=edb&question=elevatedb_manager_encryption_password

http://www.elevatesoft.com/manual?action=viewprop&id=edb2&product=delphi&version=7&comp=TEDBEngine&prop=EncryptionPassword

If you have any other questions, please let me know.

Tim Young
Elevate Software
www.elevatesoft.com
Sun, Feb 10 2013 9:58 PMPermanent Link

Aaron Christiansen

[[
<< I managed to save my Delphi code and the database, but think I might be
missing a config file or something. I've downloaded and installed latest
admin app, but when I try to open the database that is now a couple of years
old, I get the following: >>

That message means what it says:  you're trying to open an ANSI database
using the Unicode version of EDB.
]]

This database has been in development since I upgraded to unicode, and I created the database as unicode from the outset.

I just saved the following text to the database:

Examples are &#27827; hé "river", &#28246; hú "lake", &#27969; liú "stream", &#27798; ch&#333;ng "riptide" (or "flush"), &#28369; huá "slippery"

I know this doesn't prove it's unicode, but I am pretty confident it is.
Sun, Feb 10 2013 10:48 PMPermanent Link

Aaron Christiansen

FWIW: I update the local session encryption password and also found the old EDBConfig.EDBCfg file and used that and it worked.

Thank you to both Tim and Raoul for your help.

To check I am not going crazy, I did the following:

0. Open DB Manager (Unicode)
1. The session that is now set up with the encryption password and definitely unicode enabled, ie I know this coz it's working from above, let's call it S1.
2. Right click on S1 and "Create Copy of Session..."
3. Call this one S2
4. Change the local config file setting to point to a new location so it doesn't overwrite S1's config file
5. Click OK

In my mind, I have just copied a certifiably ok and working / function as expected Session S1 to a new Session S2.

6. I can connect to S2 no worries.
7. I now try to create a database, by pointing at a database S1 also points to
8. Right click on Databases, select "Create New Database..."
9. Select same folder as same database created and accessible from S1
10. Click OK

If I now try to open that database, I get the Character set error:

---------------------------
ElevateDB Manager (Unicode)
---------------------------
ElevateDB Error #100 There is an error in the metadata for the catalog l a s (The character set does not match the character set in use by the engine)
---------------------------
OK   
---------------------------

When I look in edbmgr.ini, S2 has not inherited the Local Encryption Password from S1. It is set as the default (elevatesoft). If I now change it, EDBManager can no longer connect to that session, saying character set conflict may be to blame. ie

---------------------------
ElevateDB Manager (Unicode)
---------------------------
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   
---------------------------


Not sure if this is a bug or expected behaviour, but hope this helps narrow down what is going on.
Sun, Feb 10 2013 10:56 PMPermanent Link

Aaron Christiansen

From above:

<<
6. I can connect to S2 no worries.
7. I now try to create a database, by pointing at a database S1 also points to
8. Right click on Databases, select "Create New Database..."
9. Select same folder as same database created and accessible from S1
10. Click OK
...
Now change local encryption password.
>>


The password update / db creation order is critical.

If you create the DB and *then* change the session encryption password, it fails.

If you change the session encryption password and *then* create the DB, it works.

Probably a *duh* moment for you, Tim, and anyone else doing this kind of thing all the time.

But because I do this so infrequently (ElevateDB does just keep working without any issue, bless its cotton socks) it can get somewhat frustrating.

HTH
Aaron
Wed, Feb 13 2013 4:36 AMPermanent Link

Aaron Christiansen

After putting some work into showing what was going on, I had hoped for a response, but since I am not getting any, I'll leave with the following reiteration:

<<<< I managed to save my Delphi code and the database, but think I might be
missing a config file or something. I've downloaded and installed latest
admin app, but when I try to open the database that is now a couple of years
old, I get the following: >>

That message means what it says:  you're trying to open an ANSI database
using the Unicode version of EDB.>>

No, it doesn't.

It could also mean you are trying to open a database for which the session local encryption password is different. Even if both the EDB manager AND the database are unicode, this error will occur.
Wed, Feb 13 2013 5:24 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Aaron


Tim doesn't visit the newsgroups as frequently as he used to. They're now mainly user support with Tim coming in on the tricky ones. I, and probably others, didn't respond because you'd solved the problem, and in my case I don't use unicode anyway so tend to avoid things to do with it Smiley

If you ever have a problem that requires speedy resolution the best approach is to email Tim direct. Even when he's up to his ears in development he is very good at responding.

I had a similar problem and what I will say is that I asked Tim back in 2009 to surface the encryption password in EDBManager -last I heard its still in the pile of "To Do"s .

I don't know if its near surfacing or we need to employ a team of archaeologists to go and find it <vbg>


Roy Lambert
Thu, Feb 14 2013 11:14 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Aaron,

<< No, it doesn't.

It could also mean you are trying to open a database for which the session
local encryption password is different. Even if both the EDB manager AND the
database are unicode, this error will occur. >>

Yes, that is correct, but you gave no indication that you were specifying
that your database catalog was encrypted.  You have to specifically go out
of your way to encrypt the catalog, so I normally assume that the database
catalog is not encrypted.

Tim Young
Elevate Software
www.elevatesoft.com
Sat, Feb 16 2013 12:12 AMPermanent Link

Aaron Christiansen

<<Aaron,

<< No, it doesn't.

It could also mean you are trying to open a database for which the session
local encryption password is different. Even if both the EDB manager AND the
database are unicode, this error will occur. >>

Yes, that is correct, but you gave no indication that you were specifying
that your database catalog was encrypted.  You have to specifically go out
of your way to encrypt the catalog, so I normally assume that the database
catalog is not encrypted.
>>

Even though I mentioned, "encryption password" straight up?

Gotcha.

I left the message should others get the error - which is incredibly misleading.
Page 1 of 2Next Page »
Jump to Page:  1 2
Image