NullPointerException auf 1nem Rechner von 2

cheeses

Mitglied
Hallo, wir haben eine Datenbank die unsere gesamten Fräsprogramme verwaltet. Diese läuft unter Java.

Nähere Problembeschreibung:
Das Programm startet zwar mit der Maske, ist aber nicht „ausgefüllt“. Versuche ich etwas zu suchen oder einzugeben erhalte ich immer den Fehler: „java.lang.NullPointerException“

Wir haben vorab 1nen neuen Rechner mit Win10 hergerichtet. Da hier unsere gesamten benötigten Programme liefen, haben wir die weiteren 5Rechner jetzt bekommen.
Jetzt habe ich auf den 1.Rechner von den 5 neuen die benötigten Programme aufgespielt, jedoch unsere Datenbank läuft nicht!! Ich bin nur User, doch auf unser Admin hat keine Lösung. Wir sind ein mittelständiger Betrieb und die Datenbank wurde von einem Externen Programmierer extra für uns gestrickt. Diesen können wir jedoch nicht kontaktieren, da er plötzlich verstorben ist. Daher (ich glaube Quellcode nennt man das) kein zugriff auf die Programmierung.

Die Datenbank verwaltet ca.30.000 Fräsprogramme und ist für uns Essenziell!!

Die Java-Version habe ich extra kontrolliert, sie ist ident. mit dem funktionierenden Rechner. Freigaben, Sicherheitseinstellungen etc. sind nach meinem begrenzten Wissen gleich. Ebenfalls ältere, andere Java-Version aufgespielt.... Sämtliche Foren habe ich schon durchsucht > Lösungen keine gefunden!
Daher kann uns jemand HELFEN??
 

LimDul

Top Contributor
Die Chancen, dass man da was tun kann, sind sehr gering.

Grundsätzlich wäre die volle Meldung, sofern vorhanden, hilfreich (Der Stacktrace). Dazu ggf. dass Programm mal über die Eingabeaufforderung starten. Mit Etwas Glück steht da was von einem Pfad, auf den das Programm zugreift drin. Vielleicht fehlt da was.
 
K

kneitzel

Gast
Das wird schwierig. die Problemdetails (Also ganzen Exception Stack) wären interessant. Ebenso den generellen Aufbau (Wo liegt die Datenbank und in welchem Format liegt diese vor?)

Die Hoffnung wäre, dass man heraus bekommt, was der Applikation ggf fehlt (Pfade, Konfigurationsdatei, ...)
 

cheeses

Mitglied
Habe es gerade probiert. Hier startet zwar das Programm und ich sehe die Menüleiste jedoch die Maskenfelder sind nicht zu sehen. Normalerweise sollte es so aussehen
Datenbank-Oberfläche.JPG
Die Dateispeicherorte sind
Dateipfade.JPG
 

LimDul

Top Contributor
Anstelle das per Doppelklick zu starten, startet es mal von der Eingabeaufforderung:

java -jar Start.jar in dem Verzeichnis. Dann kommen hoffentlich mehr Infos.
 
K

kneitzel

Gast
Das hilft uns noch nicht wirklich ... Wir benötigen die genaue Fehlermeldung incl. dem sogenannten Stacktrace.

Da sind Logdateien (hs_err_pid*.log) - was steht denn da an Details drin? Da mal rein geschaut?
 

cheeses

Mitglied
Wenn ich es aus dem Verzeichnis starte passiert das selbe wie mit meinem Desktopsymbol. Keine Fehlermeldung...

Habe mal die größte .log aufgemacht - aber das sind "böhmishe-Dörfer" für mich.
Angehängt, vielleicht könnt Ihr da was rauslesen.

Ach ja, programmiert wurde die Datenbank für WinXP und lief auch auf Win7. Habe also auch die Kompatiblitätsansich schon probiert....
(Ich parametrisiere Euch eine Dialog-Steuerung (Fräsmaschine) aber das überfordert mich. )
 

Anhänge

  • hs_err_pid3836.log.txt
    11,5 KB · Aufrufe: 9
K

kneitzel

Gast
Ok, das bringt schon einmal etwas. Das Problem scheint eine JDBC zu ODBC Schnittstelle zu sein.

Mal auf beiden Rechnern das Startmenü öffnen und odbc eingeben. Da sollte dann das ODBC Data Sources oder so ähnlich geöffnet werden ...
Das ist einfach ein kleines Fenster - da mal die Einträge vergleichen! Vermutlich fehlt da einfach nur der Eintrag für die Datenbank.

Ansonsten habe ich das nur für 32Bit. Bitte mal auf der Kommandozeile bei beiden Rechnern
java -version
eingeben und die Antwort vergleichen. Evtl. ist auf einem Rechner die 32Bit Java Version in Benutzung... Nur so als Idee ...

Bezüglich Remote Sitzung komme ich im Gespräch auf Dich zu - ich will mir da erst selbst noch diese jdbc-odbc Bridge ansehen.
 
K

kneitzel

Gast
Ansonsten habe ich das nur für 32Bit. Bitte mal auf der Kommandozeile bei beiden Rechnern
java -version
eingeben und die Antwort vergleichen. Evtl. ist auf einem Rechner die 32Bit Java Version in Benutzung... Nur so als Idee ...
Die Idee kannst Du vergessen - steht ja auch in dem geteilten Log: Du hast ein 32Bit Java - daher ist der Punkt ausgeschlossen. Bleibt aber diese ODBC Konfiguration.
 
K

kneitzel

Gast
Und bezüglich ODBC einfach einmal paar Bildscirmfotos:
1613376206396.png
Die wichtigen Tabs sind Benutzer-DSN und System-DSN.
Bei dem unteren Kästchen die Meldung beachten! Auf meinem Rechner habe ich z.B. ein 64Bit MS Office - daher kann dieser 32Bit Zugriff nicht funktionieren. Sollte sowas bei euch auch da stehen und Office als Datenbank zum Einsatz kommen (Also Access, Excel, ...), dann muss hier ggf. auch MS Office deinstalliert und die 32Bit Version installiert werden.

Meine Erwartungshaltung ist, dass ihr einen Eintrag auf dem Rechner habt, der funktioniert. Genau so einen Eintrag müsst ihr dann auch erstellen.
1613376314738.png
Wenn man den Eintrag markiert und dann die Eigenschaften auswählt, dann kommt so eine Konfiguration. Die ist natürlich von Treiber zu Treiber unterschiedlich. Der Name der Datenquelle muss identisch geschrieben sein. Beschreibung ist egal ... Und die Datenquelle muss natürlich ausgewählt worden sein...

Das einfach einmal als Hinweis zum selbst prüfen ehe es zu einem Call zwischen uns kommt.
 

cheeses

Mitglied
Ha! da könnte der Hase im Pfeffer liegen
odbc-Simi.JPG
Weiter traue ich mich nicht so wirklich, vermutlich kann ich mich da mit einer falschen Eingabe ziemlich lahm legen...:eek:
 
K

kneitzel

Gast
Also Du kannst Da nichts kaputt machen - Wichtig ist nur: Auf dem funktionierenden Rechner machst Du nichts, das Du mit OK bestätigst. Da gehst Du immer mit Abbrechen zurück. Du kannst aber so Elemente auswählen und dann auf Eigenschaften klicken um diese zu vergleichen.

Und dann musst Du vergleichen: Ist das der funktionierende Rechner? Wie sieht es beim nicht funktionierenden Rechner aus?
Also was ich dem entnehmen kann: Neben dem 64Bit Office ist auch eine 32Bit Access Runtime installiert.
==> Ist die auch auf dem nicht funktionierendem Rechner installiert?

Wenn das fehlt, dann prüfen, was da installiert wurde auf dem funktionierenden Rechner (Zur Not einfach schauen, was beim anderen PC installiert wurde)
a) Microsoft Access Database Engine sein. Es gibt diverse Versionen, z.B. für 2010: https://www.microsoft.com/de-de/download/details.aspx?id=13255
Der Installer wäre dann eine AccessDatabaseEngine.exe ...
b) MDAC (Microsoft Data Access Components) - die umfassen deutlich mehr als ODBC. Da wäre der Installer in der Regel ein mdacXY.exe mit xy eine Version also z.B. mdac28.exe)

Wenn der andere Rechner vor kurzem Aufgebaut wurde, dann hat man da evtl. noch die verwendeten Dateien, so dass man einfach auf die entsprechenden Dateien zurückgreifen kann.
 

cheeses

Mitglied
Uff bin da an meiner Grenze. Jedenfalls ist auf dem funktionierenden Rechner die "Microsoft Access-Datenbanken" mit 32-Bit nicht drauf!! Siehe dieses Bildodbc-björn.JPG
Kann ich die dann auf meinem (NICHT funktionierenden Rechner - siehe vorheriges Bild) einfach "Entfernen"??
Ich weiss ich frage ziemlich bescheiden, doch ich gebe schon mein Bestes..
 
K

kneitzel

Gast
Also wenn es auf dem funktionierenden Rechner nicht ist, dann wird es nicht gebraucht. Aber die reine Installation dieser Komponente sollte eigentlich keine Auswirkungen haben.

Ggf. doch einmal das "java -version" auf beiden Rechnern in einer Eingabeaufforderung zum Vergleich ausführen.
 

M.L.

Top Contributor
Für später -also nach der durchgängigen Migration _aller_ beteiligten Komponenten auf 64-Bit- *könnte* man auch die Verwendung eines alternativen DB-Systems (erstmal als Reserve) angehen, z.B. von Access auf MS SQL Server.
 
K

kneitzel

Gast
Zwei Punkte wurden ausgemacht (nur als kleine Zusammenfassung, falls bei weiteren Rechnern erneut Unterstützung benötigt wird):
a) Java muss in der 32Bit Version installiert werden und das muss zwingend die richtige Java Version sein! (Also z.B. ein 6er OpenJDK bringt Serialisierungsfehler, da u.a. JComponent serialisiert wurden und dann die serialVersionUID nicht stimmt.)
b) In den ODBC Settings muss die Access Datenbank mit richtigem Pfad eingebunden werden. (Über die ODBC Systemsteuerung mdb Datei auf Netzlaufwerk auswählen).

Und Verwendung fand die alte JDBCODBC Bridge, die mit Java 8 entfernt wurde.
 

cheeses

Mitglied
Nochmal schriftlich auch im Namen meines Chefs: DU BIST UNSER HELD DES TAGES!!!

Vielen vielen Dank für die engagierte und kompetente Hilfe!!!!!!!!!!!!!!😊👍👍🧙‍♂️
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V SQLite NullPointerException in preparedStatement.close(); Datenbankprogrammierung 8
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
D Oracle NullPointerException bei select mit Null Values Datenbankprogrammierung 5
D NullPointerException bei DB Verbindung Datenbankprogrammierung 6
T NullPointerException bei Verbindung zur Datenbank Datenbankprogrammierung 4
T NullpointerException Datenbankprogrammierung 10
B ResultSet wirft komische NullPointerException. Datenbankprogrammierung 3
J Derby/JavaDB NullPointerException bei VORHANDENEM EntityManager-Objekt!!! Datenbankprogrammierung 3
Q java.lang.NullPointerException connection = null Datenbankprogrammierung 13
T NullPointerException ( EclipseLink mit OSGi) Datenbankprogrammierung 10
T JPA: NullPointerException nach persist Datenbankprogrammierung 3
A NullPointerException bei DB-Abfrage Datenbankprogrammierung 2
S Jar-Ausführung / RMI / Datenbank / NullPointerException Datenbankprogrammierung 30
S nullpointerexception bei HSQLDB Datenbankprogrammierung 4
T NullPointerException bei leeren Feldern Datenbankprogrammierung 10
R NUllPointerException bei Datenbankabfrage Datenbankprogrammierung 4
S Hsqldb java.lang.NullPointerException Datenbankprogrammierung 2
A NullPointerException trotz getConnection Datenbankprogrammierung 6
H java.lang.NullPointerException Datenbankprogrammierung 7
P Probleme mit NullPointerException Datenbankprogrammierung 5
G JDBC Verbindung zu MySQL-Server auf lokalem Rechner Datenbankprogrammierung 5
G Mit JDBC-ODBC-Bridge auf entfernten Rechner zugreifen? Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben