/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Oracle 7 via JDBC sorteringsproblem paa OS~
Fra : Thorbjørn Ravn Ander~


Dato : 08-10-02 11:18


Jeg har et problem med min OS X maskine som jeg bruger Oracle9i JDBC
driverne uden NLS_* op mod en god gammel Oracle7 maskine, som koerer
Solaris 7, og jeg er begyndt at faa knas med mine resultset fra
Oracle. Det koerer fint i en identisk konfiguration under Solaris.
(JBoss 3.0.2).

SQL udtrykket er:

select distinct donor_ab0 as label, donor_ab0 as value from ab0_rules
order by donor_ab0

Resultatet under Solaris 7, JDK 1.4

0,A,A1,A1B,A2,A2B,AB,B

Resultatet under OS X 10.2, JDK 1.3.1 (seneste)

A,AB,A1,A1B,A2,A2B,B,0

Herudover havde jeg problemer igaar med at mine søjlenavne ikke var
navngivet korrekt, men det kan der være andre grunde til.

Den eneste environment variabel jeg har sat har været LANG (dk_da) og
det gør ingen ændring hvis den er udefineret.

Nogen der har set noget tilsvarende på OS X eller andre platforme?
Hvad skal jeg rette for at få det fikset? Et umiddelbart tiltag med
at tilføje nls_...12.jar gjorde ingen forskel.
--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

 
 
Lars Kongshøj (08-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 08-10-02 17:32

Thorbjørn Ravn Andersen wrote:
> Jeg har et problem med min OS X maskine som jeg bruger Oracle9i JDBC
> driverne uden NLS_* op mod en god gammel Oracle7 maskine, som koerer
> Solaris 7, og jeg er begyndt at faa knas med mine resultset fra
> Oracle. Det koerer fint i en identisk konfiguration under Solaris.
> (JBoss 3.0.2).
> select distinct donor_ab0 as label, donor_ab0 as value from ab0_rules
> order by donor_ab0
> Resultatet under Solaris 7, JDK 1.4
> 0,A,A1,A1B,A2,A2B,AB,B
> Resultatet under OS X 10.2, JDK 1.3.1 (seneste)
> A,AB,A1,A1B,A2,A2B,B,0
> Den eneste environment variabel jeg har sat har været LANG (dk_da) og
> det gør ingen ændring hvis den er udefineret.

Det kunne tyde på at der køres med forskellig NLS-opsætning.

Prøv at begynde dine sessioner med

alter session set nls_sort = 'DANISH';

Det burde sikre identiske resultater.

Den relevante environment-variabel hedder LNS_LANG, og formatet er
beskrevet i dokumentationen (variablen skal også indeholde tegnsæt).

Du kan se i v$parameter hvad nls_sort og nls_language er hos serverne.

--
Lars Kongshøj
http://www.kongshoj.com/ - konsulent i Oracle og Unix

Thorbjørn Ravn Ander~ (09-10-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 09-10-02 06:03

Lars Kongshøj <lars_kongshoj@hotmail.com> writes:

> alter session set nls_sort = 'DANISH';
>
> Det burde sikre identiske resultater.

Det prøver jeg.

> Den relevante environment-variabel hedder LNS_LANG, og formatet er
> beskrevet i dokumentationen (variablen skal også indeholde tegnsæt).

Gælder det også for JDBC drivere?

> Du kan se i v$parameter hvad nls_sort og nls_language er hos serverne.

Det er mod samme server. Der er virkelig ikke anden forskel på de to
systemer end det underliggende operativsystem.

TAkker.
--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

Lars Kongshøj (09-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 09-10-02 10:34

Thorbjørn Ravn Andersen wrote:
> Lars Kongshøj <lars_kongshoj@hotmail.com> writes:
> > Den relevante environment-variabel hedder LNS_LANG, og formatet er
> > beskrevet i dokumentationen (variablen skal også indeholde tegnsæt).
> Gælder det også for JDBC drivere?

Der skulle selvfølgelig have stået NLS_LANG.

Jeg ved ikke om det gælder JDBC, men mon ikke.

--
Lars Kongshøj
http://www.kongshoj.com/ - konsulent i Oracle og Unix

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste