Avatar billede lbaad Nybegynder
28. august 2007 - 13:55 Der er 6 kommentarer

Forkert tegnsæt efter opgradering

Hej

Efter jeg har opgraderet til 10g fra 9i, så har jeg ikke længere mulighed for at oprettet tabeller med æøå.
Eller det til sige, at det er det, hvis jeg opretter fra TOAD, hvor jeg har følgende nls instillinger:

NLS_LANGUAGE            DANISH
NLS_TERRITORY            DENMARK
NLS_CURRENCY             Kr
NLS_ISO_CURRENCY    DENMARK
NLS_NUMERIC_CHARACTERS    ,.
NLS_CALENDAR            GREGORIAN
NLS_DATE_FORMAT            RR-MM-DD
NLS_DATE_LANGUAGE    DANISH
NLS_CHARACTERSET    WE8MSWIN1252
NLS_SORT            DANISH
NLS_TIME_FORMAT            HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT    RR-MM-DD HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT    HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT    RR-MM-DD HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY    €
NLS_NCHAR_CHARACTERSET    AL16UTF16
NLS_COMP            BINARY
NLS_LENGTH_SEMANTICS    BYTE
NLS_NCHAR_CONV_EXCP    FALSE

Hvis jeg gør det via sqlplus, så har jeg følgende instillinger

NLS_LANGUAGE                            AMERICAN
NLS_TERRITORY                            AMERICA
NLS_CURRENCY                            $
NLS_ISO_CURRENCY                        AMERICA
NLS_NUMERIC_CHARACTERS                  .,
NLS_CALENDAR                            GREGORIAN
NLS_DATE_FORMAT                          DD-MON-RR
NLS_DATE_LANGUAGE                        AMERICAN
NLS_CHARACTERSET                        WE8MSWIN1252
NLS_SORT                                BINARY
NLS_TIME_FORMAT                          HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT                    DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT                      HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT                  DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY                        $
NLS_NCHAR_CHARACTERSET                  AL16UTF16
NLS_COMP                                BINARY
NLS_LENGTH_SEMANTICS                    BYTE
NLS_NCHAR_CONV_EXCP                      FALSE

Nogen der har noget idéer til hvordan jeg kan få det til dansk begge steder.

Mvh
Lars
Avatar billede jba1548 Nybegynder
28. august 2007 - 14:10 #1
Lav et logon.sql script, som indlæses når du åbner for sqlplus. I scriptet sætter du de ting du vil have med set kommandoen.

Jeg har selv denne her:
set term off
column sid new_value osid noprint
select substr(global_name,1,instr(global_name,'.')-1) sid from global_name;
set sqlprompt '&osid-SQL>'
undefine osid
set term on
set pagesize 40
set linesize 130
alter session set nls_date_format = 'DD-MM-YY';
/

Prøv den.
Logon.sql ligger på c:\programmer\Orant\Bin.
Avatar billede lbaad Nybegynder
28. august 2007 - 14:13 #2
Det er selvfølgelig en løsning, men der må være et sted, hvor jeg kan ændre det permanent. Det har jo være dansk før....
Avatar billede lbaad Nybegynder
28. august 2007 - 14:23 #3
Jeg har selv lige fundet ud af dette her, men ved endnu ikke, og det vil give mig problemer:
'ALTERSYSTEMSET'||PARAMETER||'='''||VALUE||'''SCOPE=SPFILE;'

alter system set NLS_LANGUAGE='DANISH' scope=spfile;
alter system set NLS_TERRITORY='DENMARK' scope=spfile;
alter system set NLS_CURRENCY='Kr' scope=spfile;
alter system set NLS_ISO_CURRENCY='DENMARK' scope=spfile;
alter system set NLS_NUMERIC_CHARACTERS=',.' scope=spfile;
alter system set NLS_CALENDAR='GREGORIAN' scope=spfile;
alter system set NLS_DATE_FORMAT='RR-MM-DD' scope=spfile;
alter system set NLS_DATE_LANGUAGE='DANISH' scope=spfile;
alter system set NLS_CHARACTERSET='WE8MSWIN1252' scope=spfile;
alter system set NLS_SORT='DANISH' scope=spfile;
alter system set NLS_TIME_FORMAT='HH24:MI:SSXFF' scope=spfile;
alter system set NLS_TIMESTAMP_FORMAT='RR-MM-DD HH24:MI:SSXFF' scope=spfile;
alter system set NLS_TIME_TZ_FORMAT='HH24:MI:SSXFF TZR' scope=spfile;
alter system set NLS_TIMESTAMP_TZ_FORMAT='RR-MM-DD HH24:MI:SSXFF TZR' scope=spfile;
alter system set NLS_DUAL_CURRENCY='€' scope=spfile;
alter system set NLS_NCHAR_CHARACTERSET='AL16UTF16' scope=spfile;
alter system set NLS_COMP='BINARY' scope=spfile;
alter system set NLS_LENGTH_SEMANTICS='BYTE' scope=spfile;
alter system set NLS_NCHAR_CONV_EXCP='FALSE' scope=spfile;
Avatar billede bimbambusse Nybegynder
29. august 2007 - 07:19 #4
Bruger de samme ORACLE_HOME (TOAD og Sql*Plus) ?

Under antagelse af det er under windows kan du i dit registry under HKEY_LOCAL_MACHINE\SOFTWARE\Oracle se entries for dine homes. Her kan du
overstyre serverens NLS-settings for dine klienter - eller her sætte dem til det samme.
Avatar billede lbaad Nybegynder
30. august 2007 - 10:34 #5
bimbambusse -> du har helt ret. De bruger ikke det samme oracle_home.
Det eneste jeg har gjort er, at installere Oracle 10g softwaren i eget oracle_home og derefter opgradere.
Er der ikke en måde, at få det lavet om til dansk igen, da jeg tror, at hvis jeg ændrer i regedit, så kommer alt til at stå til engelsk.
Avatar billede bimbambusse Nybegynder
04. september 2007 - 06:39 #6
jeg ville tro, at hvis dine NLS-setting i registry for dine 2 homes var ens, da ville de to klienter opføre sig ens.
Problemet er vel at du ikke har installeret din nye 10g med samme nls-settings som din gamle 9i
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester