Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Switching ANSI EDB to Unicode EDB
Tue, Sep 29 2009 12:55 AMPermanent Link

"Roy Jonker"
This is from an earlier post:

<< Aside from the Delphi code changes that are necessary, is it
possible/easy to upgrade an ANSI EDB database to Unicode EDB? >>

It's possible, but not entirely easy to do.  The best solution is this:

1) Reverse-engineer the existing database to a script (no data).
2) Change all instances of ANSI as a collation reference in the
reverse-engineered script to UNI.
3) Export the data from each table to a CSV file using the EXPORT TABLE
statement.
4) Run the script above on the new database.
5) Import the data for each table from the files created in step 3.

The problem is in Step 4. In EDB Manager, I created a new session (config
file 4IQConfig), gave it a new database, and now running the script gives
this message:

==
ElevateDB Error #700 An error was found in the statement at line 18 and
column 19 (ElevateDB Error #401 The collation UNI does not exist in the
configuration 4IQConfig)
==

These are some lines starting with line 18:
EXECUTE IMMEDIATE 'CREATE TABLE "options"
(
"MaxIdLength" INTEGER,
"RegistrationCode" VARCHAR(64) COLLATE "UNI",
etc.

What am I doing wrong?

RJ


Tue, Sep 29 2009 1:12 AMPermanent Link

"Roy Jonker"
Vista 32, Delphi 7 with 2.02b15 non-unicode, and D2010 with 2.03b2 unicode,
and 2.03b2 EDBManager.

"Roy Jonker" <royjonker@canada.com> wrote in message
news:684E0770-C338-4EE1-8AA8-F0BBD498DB82@news.elevatesoft.com...
> This is from an earlier post:
>
> << Aside from the Delphi code changes that are necessary, is it
> possible/easy to upgrade an ANSI EDB database to Unicode EDB? >>
>
> It's possible, but not entirely easy to do.  The best solution is this:
>
> 1) Reverse-engineer the existing database to a script (no data).
> 2) Change all instances of ANSI as a collation reference in the
> reverse-engineered script to UNI.
> 3) Export the data from each table to a CSV file using the EXPORT TABLE
> statement.
> 4) Run the script above on the new database.
> 5) Import the data for each table from the files created in step 3.
>
> The problem is in Step 4. In EDB Manager, I created a new session (config
> file 4IQConfig), gave it a new database, and now running the script gives
> this message:
>
> ==
> ElevateDB Error #700 An error was found in the statement at line 18 and
> column 19 (ElevateDB Error #401 The collation UNI does not exist in the
> configuration 4IQConfig)
> ==
>
> These are some lines starting with line 18:
> EXECUTE IMMEDIATE 'CREATE TABLE "options"
> (
> "MaxIdLength" INTEGER,
> "RegistrationCode" VARCHAR(64) COLLATE "UNI",
> etc.
>
> What am I doing wrong?
>
> RJ
>
>
>
Tue, Sep 29 2009 1:26 AMPermanent Link

"Roy Jonker"
Ok. I found the Unicode version of EDBManager ...

RJ

"Roy Jonker" <royjonker@canada.com> wrote in message
news:684E0770-C338-4EE1-8AA8-F0BBD498DB82@news.elevatesoft.com...
> This is from an earlier post:
>
> << Aside from the Delphi code changes that are necessary, is it
> possible/easy to upgrade an ANSI EDB database to Unicode EDB? >>
>
> It's possible, but not entirely easy to do.  The best solution is this:
>
> 1) Reverse-engineer the existing database to a script (no data).
> 2) Change all instances of ANSI as a collation reference in the
> reverse-engineered script to UNI.
> 3) Export the data from each table to a CSV file using the EXPORT TABLE
> statement.
> 4) Run the script above on the new database.
> 5) Import the data for each table from the files created in step 3.
>
> The problem is in Step 4. In EDB Manager, I created a new session (config
> file 4IQConfig), gave it a new database, and now running the script gives
> this message:
>
> ==
> ElevateDB Error #700 An error was found in the statement at line 18 and
> column 19 (ElevateDB Error #401 The collation UNI does not exist in the
> configuration 4IQConfig)
> ==
>
> These are some lines starting with line 18:
> EXECUTE IMMEDIATE 'CREATE TABLE "options"
> (
> "MaxIdLength" INTEGER,
> "RegistrationCode" VARCHAR(64) COLLATE "UNI",
> etc.
>
> What am I doing wrong?
>
> RJ
>
>
>
Tue, Sep 29 2009 4:22 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< This is from an earlier post: >>

As an amendment to that post, the EDB Manager Reverse-Engineering
functionality now allows you to specify collation conversions as part of the
process, so you can effectively specify that all ANSI collation references
are automatically converted to UNI collation references when the script,
etc. is generated.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image