PeterH
24th August 2001, 09:45
We've just, last weekend, migrated from Oracle7 to Oracle8. Now we're facing the following problem, each 'ë,é,è,ö,ü' is now presented like 'k,l,i,m,n'. Is there somebody out there who faced the same problem, if so, how did you solve this.

We're working on Baan4c4, Unix hp11.

Thanks in advance.
Peter.




:mad:

patvdv
24th August 2001, 11:10
Hi Peter,

A couple of things for you to check and answer:

Did you upgrade your existing DB or create a new and imported the old one? In that case, please check your current characterset. This problem can occur if e.g.

your Oracle7 database was: WE8ISO8859P1
your Oracle8 database now is: US7ASCII

Also, is the problem specific to a couple of tables or all tables. Some tables that had colums size greater than 255 and thus split over multiple colums, need to be converted into a 1 column setup in Oracle8. For this you should have a script in $BSE/lib/ora called cnv7to8.sh. The script tells you what to do to which tables. An example of such a table would ttadv364000 which holds the menu layout data.

PeterH
24th August 2001, 12:16
I've checked the nls_parameters from both databases and they look like this:

Oracle7 NLS_LANG = AMERICAN
NLS_TERRITORY = AMERICA
NLS_CHARACTERSET = US7ASCII

Oracle 8 NLS_LANG = AMERICAN
NLS_TERRITORY = AMERICA
NLS_CHARACTERSET = WE8ISO8859P1

patvdv
24th August 2001, 12:35
Hi Peter,

You are describing a scenario I haven't seen before myself: going from US7ASCII -> WE8ISO8859P1. I would imagine this to be OK since you have migrated from a 7-bit characterset to an 8-bit characterset. The other way around would have been disastrours because you would drop 1 bit of information on each byte!

However, you may want to check all your client and server ENV settings. If you are using the WE8ISO characterset you have to make sure you that you have in place the proper config for each client connection. For e.g.: typically you would put in your tabledef6.x file:

NLS_LANG=american_america.WE8ISO8859P1

This setting could also appear in:

$BSE/lib/defaults/db_resource
each .profile
/etc/profile
any GUI *.bwc file (- --set NLS_LANG=....)


The idea is to make sure that server (Oracle8 db) and clients (ba6.1/bw) are talking about the NLS_LANG settings.

If you switched from US7ASCII to WE8ISO you might have forgotten to check all your client/server ENV settings.