Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 13 total
Thread How to respect Collate UNI when migrating from DBISAM 3 with ElevateDB Manager Unicode?
Tue, Aug 13 2013 7:35 AMPermanent Link

Peter Evans

Subject : How to respect Collate UNI when migrating from DBISAM 3 with
ElevateDB Manager Unicode?

This post follows from my earlier one "How to force Collate UNI when use
Manager Unicode?" of yesterday.

This time I decided to try the DBISAM 3 migrator. The results were the
same in respect to Collation.
I am using ElevateDB Manager Unicode.

This time I installed  the 'Database System Utility' 3.30 Build 1 on a
different Windows 8 machine. This machine did not have any Elevate
Software programs or anything like that on it.

When I ran this utility the reason for the problem became clearer.

Lets go over the visible signs of the problem. In this paricular
database I have 6 tables. I want to migrate all 6 tables.

Table1 - wrong Collation
Table2 - correct
Table3 - wrong Collation
Table4 - wrong Collation
Table5 - wrong Collation
Table6 - wrong Collation

To cut a long story short - the table that was correct has the following
Table Creation Script as seen in the 'Database System Utility' 3.30
Build 1  :-

  LANGUAGE "ANSI Standard"

The 5 tables that have the wrong Collation have the following :-

  LANGUAGE "English (USA)"

I don't profess to know how the migrator or indeed the ElevateDB Manager
Unicode works.

Possible problem areas are :-

1) 'Migrate Database' dialog and such like. There is a Parameters group
box. In that is where you "Enter the parameter values for the migrator".
I expected that when I keyed UNI that that was the Collation to take effect.

2) unit 'edbmigrate.pas'.
Procedure TEDBMigrator.SetCollationName.

The following line is not run :-
  FCollationNameSet := True.
Because it is still false the calls to GetSQLForIndexFields have the
wrong value for the parameter FCollationName.

So for my migrations from DBISAM 3 the following line gets run (excuse
mistypes) :-

  FCollationName := Handle.Environment.ConvertIDToLocaleName(
                      GetLocalID(FSourceTable.LanguageId,
FSourceTable.SortID)
                                                            );

This explains the wrong output table structure.

Currently my migration is at a complete halt.

With the above information it should be possible for Elevate Software to
resolve the problem I am having.


Regards,
  Peter Evans
Tue, Aug 13 2013 9:30 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Peter


You need to either send this directly to support or to raise an incident log (never done so myself) so that it can be addressed more rapidly. Otherwise you're waiting for Tim to surface and check the ngs

Roy Lambert
Tue, Aug 13 2013 9:45 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Peter


ps - well done on finding it.

Roy Lambert
Tue, Aug 13 2013 8:53 PMPermanent Link

Peter Evans

On 13/08/2013 11:30 PM, Roy Lambert wrote:

>
> You need to either send this directly to support or to raise an incident log (never done so myself) so that it

can be addressed more rapidly. Otherwise you're waiting for Tim to
surface and check the ngs
>

I have just submitted an 'Incident Report' on 14Aug13 at 10:48. It has
the following number #3881

Regards,
  Peter Evans
Wed, Aug 14 2013 11:29 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< You need to either send this directly to support or to raise an incident
log (never done so myself) so that it can be addressed more rapidly.
Otherwise you're waiting for Tim to surface and check the ngs >>

I've been out of the office the last two days - I was with my mom (she had
pretty extensive hernia surgery), so I've been "absent" longer than normal.
I normally would have checked in on the weekend and on Monday/Tuesday, but
half of it was at a Bat Mitzvah Smileand the other half was spent driving to
Ohio Frown

So, my apologies for the absence, and thanks for holding down the fort. Smile

Tim Young
Elevate Software
www.elevatesoft.com


Wed, Aug 14 2013 11:38 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Peter,

<< 1) 'Migrate Database' dialog and such like. There is a Parameters group
box. In that is where you "Enter the parameter values for the migrator".  I
expected that when I keyed UNI that that was the Collation to take effect.
>>

Did you click on the "Set Parameter Value" button ?  If not, then the
parameter won't get set.  I just tried it here both ways, and it works fine:
if you specifically set a collation, then that is the collation used for the
migrated tables.  If you leave the collation as the default (ANSI or UNI),
then the collation will be retrieved from the source DBISAM tables.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Aug 14 2013 1:31 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


>I've been out of the office the last two days - I was with my mom (she had
>pretty extensive hernia surgery), so I've been "absent" longer than normal.
>I normally would have checked in on the weekend and on Monday/Tuesday, but
>half of it was at a Bat Mitzvah Smileand the other half was spent driving to
>Ohio Frown

1. Pass my best wishes for recovery to your mother. I've know a couple of the "gentler" sex have a hernia and they seem to suffer more than men.

2. I like the sound of a Bat Mitzvah did you take photo's Smiley

Roy
Fri, Aug 16 2013 5:58 AMPermanent Link

Peter Evans

On 15/08/2013 1:38 AM, Tim Young [Elevate Software] wrote:
> Peter,

>
> Did you click on the "Set Parameter Value" button ?  If not, then the
> parameter won't get set.

Yes I did. I also click and set every parameter. Please see one of my
suggestions in the Suggestions Newsgroup.


I just tried it here both ways, and it works
> fine: if you specifically set a collation, then that is the collation
> used for the migrated tables.  If you leave the collation as the default
> (ANSI or UNI), then the collation will be retrieved from the source
> DBISAM tables.

Please read my Incident Report #3881

Regards,
  Peter Evans
Mon, Aug 19 2013 2:05 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< 1. Pass my best wishes for recovery to your mother. I've know a couple of
the "gentler" sex have a hernia and they seem to suffer more than men. >>

Thanks.  They thought she had 2, and when they got in there they found 6
(!!). Frown

<< 2. I like the sound of a Bat Mitzvah did you take photo's Smiley>>

Unfortunately, taking pictures in the temple was a no-no (at least for us
guests).  She had a professional photographer taking photos, though.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Aug 19 2013 2:08 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Peter,

<< Please read my Incident Report #3881 >>

So, I'm guessing that you want to *force* the use of UNI as the collation
and ignore the collation from the incoming DBISAM 3.x tables ?  If so, then
I'll have to think about this one since I can't change the default behavior
without breaking existing applications.

Tim Young
Elevate Software
www.elevatesoft.com
Page 1 of 2Next Page »
Jump to Page:  1 2
Image