Zum Inhalt springen

[Oracle/Access] Nach Migration Zahlenformatsproblem


DJTank

Empfohlene Beiträge

Hey Leute,

ich habe grade ein Problem, welches sehr stark nach amerikanischem Zahlenformat riecht.

Wir haben ein Access FE mit Access BE, welches nun nach Oracle migriert wurde.

In einem bestimmten Feld in der DB steht der Wert 223720. Dieser stellt ein Gewicht in Gramm dar.

Nun haben wir eine Ausgabe im FE, welche den Wert dieses Feldes durch 1000 dividiert, damit wir Kilogramm erhalten. Es ist eingestellt, dass 2 Nachkommastellen angezeigt werden.

Nun sieht die Ausgabe folgendermaßen aus:

Access-BE: 223,72

Oracle-BE: 22.372,00

Habe ich recht, dass in Oracle irgendwie ein Fremdformat eingestellt ist? Weil so sieht das für unsere Anwender ja aus, als hätte das Produkt 223Tausend Kilogramm :rolleyes:

Wenn ja, wo stelle ich das Format um?

Dankeschön für eure Hilfe.

lg

Stefan

Link zu diesem Kommentar
Auf anderen Seiten teilen

einstellen kannst du das an vielen stellen

Welches betriebsystem auf dem Server welches auf dem client...?

am windowsclient z.B. in der regestry:

hkey_local_machine\software\oracle\....

dort und in den unterordnern nach nls_lang schauen

Hier z.B. ein deutsches Datum- und zahlenformat und entsprechender Zeichensatz:

GERMAN_GERMANY.WE8MSWIN1252

alternativ z.B.:

AMERICAN_AMERICA.WE8IDO8859P1

Dies beeinflusst am Client natürlich nur aus/eingabe. Nun ist die Frage wo das Problem entsteht. Am client, oder beim Import auf dem Server...

Den gleichen Regestryeintrag kannst du auch auf dem Server machen (wenn windows) und dann schau die mal die DB-Parameter an. In SQLPLUS eingeben:

show parameter nls

Dann schauen wir mal weiter...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke schonmal für den Hinweis :)

Ich habe die Registry-Settings nun auf meinem Testserver- bzw. Client überprüft und sehe nur Einträge, welche auf "Deutsch" stehen.

Wenn ich jedoch die Parameter via SQLPLUS überprüfe bekomme ich folgendes Ergebnis:

SQL> show parameter nls

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

nls_calendar string

nls_comp string

nls_currency string

nls_date_format string

nls_date_language string

nls_dual_currency string

nls_iso_currency string

nls_language string AMERICAN

nls_length_semantics string BYTE

nls_nchar_conv_excp string FALSE

nls_numeric_characters string

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

nls_sort string

nls_territory string AMERICA

nls_time_format string

nls_timestamp_format string

nls_timestamp_tz_format string

nls_time_tz_format string

Hmmm...wie stelle ich das jetzt wirklich auf Deutsch?

Link zu diesem Kommentar
Auf anderen Seiten teilen

meiner Meinung zwei Möglichkeiten. Wenn die in der Applikation statements absetzten kannst, könntest du z.B direkt nach dem Connect folgendes einbauen:

alter session set nls_language = GERMAN;

alter session set nls_territory = GERMANY;

Wenn nicht (oder auch sonst) kannst du dies auch grundsätzlich im Parameterfile der Datenbank umstellen.

D.h. du musst diese einträge in das Parameterfile machen. Wie du das machst hängt davon ab ob du ein spfile hast oder ein pfile. Danach Datenbank durchstarten.

nls_language = GERMAN

nls_territory = GERMANY

Welche Version hast du? Ich habe irgendwas im hinterkopf das man dies in früheren Versionen noch nicht konnte... Aber versuch es einfach, er wird dir dann ein Fehlermeldung geben wenns nicht geht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

völlig falsch würde ich nicht sagen, aber vielleicht sollten wir erstnochmal versuchen herauszubekommen wo das Problem entsteht....

Frag mal mit Sqlplus ab was in der Tabelle in Oracle drinsteht. Nur um zu wissen ob das Problem bei der Datenübernahme von Access entstanden ist, oder bei der Ausgabe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau richtig, der Zugriff erfolgt über verknüpfte Tabellen via ODBC.

Die Daten sind korrekt, auch wenn ich die Tabellen in Access anzeigen lasse.

Da fällt mir noch was ein...grade so nebenbei...ich habe auch das Problem, dass unsere Anwendung in manchen Tabellen keine Insert und Updates machen kann. Wenn ich diese jedoch direkt im Oracle einfüge oder update, dann gehts ohne Probleme. Datenbanken sind oft schon zum Verzweifeln :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da fällt mir noch was ein...grade so nebenbei...ich habe auch das Problem, dass unsere Anwendung in manchen Tabellen keine Insert und Updates machen kann. Wenn ich diese jedoch direkt im Oracle einfüge oder update, dann gehts ohne Probleme. Datenbanken sind oft schon zum Verzweifeln :rolleyes:
Naja,

das kann viele Ursachen haben. Es kann ja durchaus sein, dass auf bestimmten Tabellen keine entsprechenden Rechte gelegt sind, um dort Daten einzufügen oder aktualisieren. Außerdem gibt's dann ja noch hin und wieder mal Probleme damit, wenn verschiedene Tabellen untereinander verknüpft sind und diese dann voneinander abhängen...wie versucht eure Anwendung denn Daten in die DB einzuspeisen? Direktzugriff auf die Oracle-DB? Oder indirekt noch über Access? ODBC?

Ich nehme an, dass die Access-DB kurzfristig aufgelöst werden soll?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Zugriff erfolgt immer in Access über verknüpfte ODBC-Tabellen, wie du es angenommen hast. Weiters hast du auch damit recht, dass die Access-DB kurzfristig aufgelöst werde soll (das BE) -> wird ja auf Oracle umgestellt und die Zeit drängt. Wir haben es fast geschafft bis auf 2-3 "dubiose" Sachen, u.a. diese zwei Probleme, die ich in diesem Thread angesprochen habe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sooooooooooooo...das Problem mit den Inserts/Updates war mal wieder ein "Key-Problem".

In Oracle waren alle Primary-Key vorhanden, jedoch übernahm Access diese nicht ordentlich, logischerweise konnte ich nun nichts anfügen bzw. editieren.

Nun haben wir jedoch den Karren aus dem Dreck gezogen ;)

Vielen Dank für den oftmaligen Support Leute.

lg

Stefan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...