Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 15 total
Thread How to migrate from ElevateDB ANSI to Unicode
Mon, Aug 8 2016 4:27 AMPermanent Link

Miquel

SMI Sistemes

Hi,

we are trying to migrate from ElevateDB ANSI to Unicode. Since version 2.16 there is a migrator called EDB that will help in that migration.

We need some reference because we don’t know the capabilities/requirements of that migrator.

There is also an alternative method involving reverse engineering, CSV export, etc. But we wonder if this migrator does all the job for us.

What we have tried so far is this steps, using ADD version 2.24:
- Define two local sessions c:\ElevateBBDD(UNICODE) and c:\ElevateBBDDAnsi(ANSI)
- From Unicode session, migrate(import) a single database.
   Plenty of errors, variing in funcion of parameters specified
- From ANSI session, migrate(export) a single
   No errors but never creates 'resulting' Database

Any help would be appreciated.

Thanks.
Mon, Aug 8 2016 11:15 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Miquel


Its a long time ago I migrated from DBISAM to ElevateDB and I'm still on ANSI but I'm not sure you'll be able to do what you want. Why not just use the reverse engineering or export/import capabilities.

Roy Lambert
Tue, Aug 9 2016 2:52 AMPermanent Link

Miquel

SMI Sistemes

Hi Roy,

We'd like to keep the migation as simple as posible. If we have to follow several steps to migrate, we may make some mistakes and the idea of an automated process is better Wink

Also we could make a program to handle the migration but if this migrator does exactly the same, we can save our time.

So the idea of what the migrator does:
- Reverse engineer database changing collations from ANSI to UNI, keeping CI, AS, etc.
- Export full database data.
- If progressbar or log shows progress it would be nice but is not a requirement.

We have tried:
   MIGRATE DATABASE FROM "EDB"
   USING
   "CharacterSet" = 'UNI',
   "Collation" = 'UNI',
   "ConfigPath" = 'c:\ELEVATEBBDDansi',
   "Database" = 'DGFab'
   --"LoginPassword" = '',
   --"LoginUser" = '',
   WITH DATA
   
   ElevateDB Error #202 An error occurred with the module edbmigrate (Module execution 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))
   
   -- If the origin is ANSI, may work changing CharSet to ANSI?
   MIGRATE DATABASE FROM "EDB"
   USING
   "CharacterSet" = 'ANSI',
   "Collation" = 'UNI',
   "ConfigPath" = 'c:\ELEVATEBBDDansi',
   "Database" = 'DGFab'
   --"LoginPassword" = '',
   --"LoginUser" = '',
   WITH DATA
   
   ElevateDB Error #202 An error occurred with the module edbmigrate (Module execution error: ElevateDB Error #501 Login failed (Login aborted))
   
   --Default login
   MIGRATE DATABASE FROM "EDB"
   USING
   "CharacterSet" = 'ANSI',
   "Collation" = 'UNI',
   "ConfigPath" = 'c:\ELEVATEBBDDansi',
   "Database" = 'DGFab',
   "LoginPassword" = 'EDBDefault',
   "LoginUser" = 'Administrator'
   WITH DATA
   
   ElevateDB Error #700 An error was found in the statement at line 3 and column 29 (ElevateDB Error #401 The collation ANSI does not exist in the configuration EDBConfig)
   
   MIGRATE DATABASE FROM "EDB"
   USING
   "CharacterSet" = 'ANSI',
   "Collation" = 'ANSI',
   "ConfigPath" = 'c:\ELEVATEBBDDansi',
   "Database" = 'DGFab',
   "LoginPassword" = 'EDBDefault',
   "LoginUser" = 'Administrator'
   WITH DATA
   
   ElevateDB Error #700 An error was found in the statement at line 3 and column 29 (ElevateDB Error #401 The collation ANSI does not exist in the configuration EDBConfig)

Thanks Roy.
Tue, Aug 9 2016 4:50 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Miquel


I can't find my code from way back so I've had a play in EDBManager and can't get it to wrok. I suggest you open a support session with Tim.

Roy Lambert
Tue, Aug 9 2016 11:00 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Miquel,

It seems that the problem is the Collation = ANSI parameters - the EDB migrator is not working with it.
What is the collation that you are using in the source database ?
Please note that the parameter values are for the source database.
Also, if the database is big, it will take some time and the Manager seems to be frozen while migrating, but it's not.
I've tested with both collation = PTG and ENG and both worked well, but not ANSI - that is not working.
I don't know why - we will have to ask Tim.
I have successfully migrated 2 different databases with the following parameters:

MIGRATE DATABASE FROM "EDB"
USING
"BackupExtension" = '.EDBBkp',
"CatalogExtension" = '.EDBCat',
"CatalogName" = 'EDBDatabase',
"CharacterSet" = 'ANSI',
"Collation" = 'PTG',
"ConfigExtension" = '.EDBCfg',
"ConfigMemory" = FALSE,
"ConfigName" = 'EDBConfig',
"ConfigPath" = 'C:\ProgramData\Easygate Lda',
"Database" = 'AGV2Afm2016',
"EncryptionPassword" = 'elevatesoft',
"LockExtension" = '.EDBLck',
"LogExtension" = '.EDBLog',
"LoginPassword" = 'EDBDefault',
"LoginUser" = 'Administrator',
"Signature" = 'edb_signature',
"TableBlobExtension" = '.EDBBlb',
"TableExtension" = '.EDBTbl',
"TableIndexExtension" = '.EDBIdx',
"TablePublishExtension" = '.EDBPbl',
"UpdateExtension" = '.EDBUpd'
WITH DATA

--
Fernando Dias
[Team Elevate]
Tue, Aug 9 2016 11:53 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Fernando


I tried migrating from ANSI to a unicode version and I couldn't get it to work. I tried setting the collation to UNI and to ANSI

With it set as ANSI I get

ElevateDB Error #700 An error was found in the statement at line 5 and column 28 (ElevateDB Error #401 The collation ANSI does not exist in the configuration EDBConfig)

with it set as UNI I get

ElevateDB Error #202 An error occurred with the module edbmigrate (Module execution 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))


It looks a bit of a catch 22 situation Smiley

Roy Lambert
Tue, Aug 9 2016 1:37 PMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Roy,

<<I tried migrating from ANSI to a unicode version and I couldn't get it to work.>>

I think that it's a bug, but we have to wait for Tim to confirm it.
If there is at least one column with ANSI collation, it doesn't work, however it does if we use any other collation in the source database.
I have successfully migrated a database with many indexes, triggers, views, procedures, and it all worked well after changing the collation of 3 columns that were ANSI to PTG - that's what I am using all over the database.
I've also tried with ENG collation and it did work well as long as there is no reference to ANSI collation in the same database.

<<It looks a bit of a catch 22 situation Smiley>>

Yeah, it does - I hope it's not... we are not crazy are we Smiley

--
Fernando Dias
[Team Elevate]
Wed, Aug 10 2016 2:56 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Fernando


>we are not crazy are we Smiley

Unlike Howling Mad Murdoch I have no documentation to prove my sanity so I can only assume I am crazy!

Roy


Wed, Aug 10 2016 3:54 AMPermanent Link

Miquel

SMI Sistemes

Hi Fernando,

Our collations are ANSI or ANSI_CI, so I guess the engine is using OS default Collation. If we call 'chcp' in the console, it outputs:
Página de Códigos activa: 850

This database is really simple, with just 2 tables, but we plan to use the migrator for our full database which contains both ANSI and ANSI_CI
CREATE TABLE "Empresas"
(
"CODIGO" VARCHAR(2) COLLATE "ANSI",
"NOMBRE" VARCHAR(40) COLLATE "ANSI",
"VEREMPRESA" BOOLEAN,
CONSTRAINT "PrimaryKey" PRIMARY KEY ("CODIGO")
)
CREATE TABLE "Planning"
(
"FECHA" DATE,
"TIPO" SMALLINT,
"AVISO" CLOB COLLATE "ANSI",
CONSTRAINT "PrimaryKey" PRIMARY KEY ("FECHA", "TIPO")
)

Thanks.
Wed, Aug 10 2016 7:54 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Miquel,

Is it possible for you to alter the source database to use another collation, instead of ANSI - (ESP for example) and then give it a try?

Like this:
ALTER TABLE "Empresas"
  "CODIGO" VARCHAR(2) COLLATE "ESP",
  ...
  etc ...

Alter doing this to ALL the columns of ALL tables, try the migration again with this parameters:
"CharacterSet" = 'ANSI',
"Collation" = 'ESP',


I have already asked Tim to take a look at this, it can be a bug... but while he checks this out you could perhaps try this.

--
Fernando Dias
[Team Elevate]
Page 1 of 2Next Page »
Jump to Page:  1 2
Image