Problem bei Übernahme alter Daten aus MyMDb[]
Ich versuche vergeblich meine Datenbank von MyMDb 3.6 nach MyMDb-CE 1.9.2 zu schubsen.
Ich habe beide Versionen aus dem MyMDb-CE_Handbuch versucht und die MyMDb-CE.exe als Administrator ausgeführt. Das Resultat ist bei beiden gleich: "Fatal Error - Das Programm muss beendet werden" bei Ausführung der MyMDb-CE.exe.
Bei Methode 2 (einspielen des MyMDb-Backups in MyMDb-CE) startet die MyMDb-CE.exe am Anfang. Ich spiele das Backup ein. Starte neu. Lösche die 2 mymdbCE.* Dateien und danach startet die MyMDb-CE.exe nicht mehr. Siehe obrige Fehlermeldung.
Error Log:
Fehler: 04.08.2020 um 15:33 Uhr
Das Programm muss beendet werden!
mymdbce.GUIMain.i(Unknown Source)
mymdbce.GUIMain.k(Unknown Source)
mymdbce.GUIMain.<init>(Unknown Source)
mymdbce.GUIMain.main(Unknown Source)
Lösungsvorschläge[]
Hast Du auch die einfachste Methode probiert und Deinen MyMDb3.6 Ordner woanders hin kopiert und dann dort die "MyMDb-CE.exe" direkt gestartet?
Ansonsten mal den "config"-Ordner löschen!
Ansonsten mal die Datei "mymdbce.script" mit einem Text-Editor öffnen und darin mal suchen ob es dort Einträge mit dem Wert "NULL" gibt.
Antwort
Die einfache Methode führt zum selben Ergebnis. Habe jetzt den MyMDb3.6-Ordner und den MyMDb-CE-192-Ordner auf D: (seperate HDD). Der Original MyMDb3.6-Ordner ist noch auf C: (SSD).
"Config"-Ordner löschen hat auch nichts verändert.
In der "mymdbce.script"-Datei (bei mir 21 MB groß) finde ich nur NULL-Einträge im Filminfo-Bereich (Titel, Beschreibung usw.)...
Zu den "NULL" Einträgen
Hier die die Ursache Deines Problems ... einige Deiner Datenbankeinträge wurden mit Version vor MyMDb3.6 gemacht. Damals wurden Felder ohne Inhalt mit NULL gekennzeichnet, ab MyMDb3.6 wurden diese mit '' markiert. Was Du nun tun musst ist, einen guten Texteditor zu nehmen (naja WordPad sollte auch funktionieren ) und dann ersetzt Du alle NULL durch '' (hierbei die Großschreibung des Wortes NULL beachten, da Du ansonsten auch das Wort "Null" ersetzen würdest) und danach starte das Programm nochmal.
Antwort
NULL-Einträge haben ich in der mymdbce.script"-Datei nur an 2 Stellen.
1. CREATE MEMORY TABLE EXCEL(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,...
2. CREATE MEMORY TABLE MOVIES(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY.....
Der Rest sind andere Variationen von Null als Wort...aber nicht==NULL
An dieser Stelle wurde die mymdbce.script Datei per PN an TBengel geschickt, der dann die Lösung gefunden hat.
Die Lösung[]
Das Problem steckte in der Datenbank "EXCEL", diese wurde vermutlich nur am Anfang mal benutzt und dann nie wieder. Diese hat einen ganz alten (anderen) Aufbau und wurde nie von MyMDb geupdatet.
Hier siehst Du die Unterschiede:
CREATE MEMORY TABLE EXCEL(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,NR VARCHAR(100),EAN VARCHAR(80),BILD VARCHAR(20),TITEL VARCHAR(256),ORIGINALTITEL VARCHAR(256),GESEHEN VARCHAR(5),REGIE VARCHAR(256),GENRE VARCHAR(256),LAENGE VARCHAR(5),FSK VARCHAR(2),BILDFORMAT VARCHAR(10),FARBE VARCHAR(10),ERSCHEINUNGSJAHR VARCHAR(4),HERSTELLUNGSLAND VARCHAR(256),DVDERSCHEINUNGSJAHR VARCHAR(4),KAUFPREIS VARCHAR(10),MEDIENTYP VARCHAR(20),SPRACHE VARCHAR(256),EDITION VARCHAR(40),IMDB VARCHAR(256),IMDBNOTE VARCHAR(3),IMDBSTIMMEN VARCHAR(10),IMDBPLATZ VARCHAR(10),OFDB VARCHAR(256),NOTE VARCHAR(3),STIMMEN VARCHAR(10),PLATZ VARCHAR(10),SELFNOTE VARCHAR(5),SELFPLATZ VARCHAR(10),INHALT LONGVARCHAR,DARSTELLER LONGVARCHAR,SYMLINK VARCHAR(256),COMMENT VARCHAR(256),AUTHORID VARCHAR(256),AUTHORNICK VARCHAR(256),VERLIEHEN_AN VARCHAR(256),VERLIEHEN_AM VARCHAR(15),FILTER VARCHAR(256),AWARDS VARCHAR(256))
CREATE MEMORY TABLE MOVIES(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,NR VARCHAR(100),EAN VARCHAR(80),BILD VARCHAR(20),TITEL VARCHAR(256),CUT VARCHAR(1),INDIZIERT VARCHAR(1),ORIGINALTITEL VARCHAR(256),LABEL VARCHAR(256),GESEHEN VARCHAR(5),REGIE VARCHAR(256),GENRE VARCHAR(256),LAENGE VARCHAR(5),FSK VARCHAR(2),BILDFORMAT VARCHAR(120),FARBE VARCHAR(10),TVNORM VARCHAR(5),ERSCHEINUNGSJAHR VARCHAR(4),HERSTELLUNGSLAND VARCHAR(256),DVDERSCHEINUNGSJAHR VARCHAR(4),KAUFPREIS VARCHAR(10),MEDIENTYP VARCHAR(20),SPRACHE VARCHAR(256),EDITION VARCHAR(40),IMDB VARCHAR(256),IMDBNOTE VARCHAR(3),IMDBSTIMMEN VARCHAR(10),IMDBPLATZ VARCHAR(10),OFDB VARCHAR(256),NOTE VARCHAR(3),STIMMEN VARCHAR(10),PLATZ VARCHAR(10),SELFNOTE VARCHAR(5),SELFPLATZ VARCHAR(10),INHALT LONGVARCHAR,DARSTELLER LONGVARCHAR,SOUNDTRACKS LONGVARCHAR,SYMLINK VARCHAR(256),SYMLINK2 VARCHAR(256),SYMLINK3 VARCHAR(256),ORT VARCHAR(256),COMMENT VARCHAR(256),AUTHORID VARCHAR(256),UNTERTITEL VARCHAR(256),AUTHORNICK VARCHAR(256),VERLIEHEN_AN VARCHAR(256),VERLIEHEN_AM VARCHAR(15),FILTER VARCHAR(256),AWARDS VARCHAR(256),SCHUTZ VARCHAR(1),USCHUTZ VARCHAR(1),CREATED VARCHAR(14),EDITED VARCHAR(14),COVER_FRONT VARCHAR(120),COVER_BACK VARCHAR(120))
Es fehlen komplette Spalten, z.B. die Spalte "CUT".
MyMDb-CE hat alles richtig gemacht, nur irgendwann mal in der Vergangenheit ist ein Update gehörig schief gelaufen.
Die drei Filme aus der alten EXCEL-Datenbank müssen ggf. händisch neu angelegt werden.
Also - eine der beiden Datenbanken war zerschossen. Dies hätte der Benutzer alleine nur schwer lösen können, aber normalerweise sollte solch ein Problem nie auftreten, da die Datenbank in MyMDb3.6 wohl auch nie angezeigt werden konnte. Es ist also irgendwann mal in der Historie von MyMDb3.6 irgendein Update schief gelaufen und er hat dann eine neue Datenbank angelegt und die alte schon lange vergessen...