Fehlermeldung beim Anlegen neuer Objekte
-
Hallo,
ich habe gerade IdoIT von der Version 0.9.4 auf 0.9.4-5 geupdated. Das Update lief fehlerfrei durch. (bis auf einen Punkt unter Migration)
Jetzt kommt allerdings jedes mal wenn ich ein neues Objekt anlegen möchte (egal wo) folgende Fehlermeldung:
Message: isys_exception_database : Query error: \'INSERT INTO isys_lock SET isys_lock__isys_obj__id = \'1591\', isys_lock__isys_user_session__id = \'599\', isys_lock__datetime = NOW();\': Cannot add or update a child row: a foreign key constraint fails (`idoit_mandator`.`isys_lock`, CONSTRAINT `isys_lock_ibfk_1` FOREIGN KEY (`isys_lock__isys_user_session__id`) REFERENCES `isys_user_session` (`isys_user_session__id`) ON DELETE CASCADE ON UPDAT) (Extended Information: array ( \'server\' => \'5.1.25-rc-standard\', \'host\' => \'Localhost via UNIX socket\', \'client\' => \'5.1.25-rc\', \'proto\' => 10, ))
Ich kann diese Fehlermeldung einfach wegklicken und ohne Probleme ein neues Objekt anlegen.
Aber wodurch entsteht diese Fehlermeldung? Kann das was mit den Rechten an der DB zu tun haben?Danke im voraus,
LG, Fisi. -
Das ist keine Antwort, sondern ein weiterer Fall. Bei mir kommt unter gleichen Umständen die Meldung (die nicht wegzuklicken ist:
Exception occurred:
isys_exception_dao > Running transaction has been canceled. Could not isys_component_dao::update() :
MySQL-Error: Field 'isys_catg_global_list__order_no' doesn't have a default value
Query: INSERT INTO isys_catg_global_list (isys_catg_global_list__id, isys_catg_global_list__isys_catg_global_category__id, isys_catg_global_list__isys_catg_global__id, isys_catg_global_list__isys_purpose__id, isys_catg_global_list__title, isys_catg_global_list__hostname, isys_catg_global_list__description, isys_catg_global_list__scantime, isys_catg_global_list__imported, isys_catg_global_list__acquirementdate, isys_catg_global_list__isys_guarantee_period_unit__id, isys_catg_global_list__sysid, isys_catg_global_list__status ) VALUES (DEFAULT, '1', @C__CATG__GLOBAL, NULL, '', '', '','',NULL,NULL, NULL, 'SYSID_1229975927', '1');
Try updating your database. If this error occurs permanently, contact the i-doit team, please. (http://i-doit.org/forum, support@i-doit.org)
Go back | Go to mainpage | Report a bug (E-Mail must be enabled in config.inc.php) -
Fisi,
ist die Objekt-Sperrung bei dir eingeschaltet: Verwaltung -> Object-Sperrung ?
Wenn ja, kommt die Meldung auch wenn die Sperrung deaktiviert ist?Saleck,
es scheint als haettest du den mysql safe_mode aktiviert. Versuchs noch einmal wenn die Option abgeschaltet ist -
Hallo,
die Objektsperrung war deaktiviert. Auch wenn ich sie aktiviere bekomme ich die selbe Fehlermeldung.
EDIT:
Achja, beim Einspielen der neusten Version bekomme ich angehängte Fehlermeldung beim Punkt Migration. Könnte es damit was zu tun haben?
LG, Fisi.
-
Nein hat eigentlich nichts damit zu tun. Ich vermute das du dein Logbuch schon migriert und nur die Überprüfung fehlschlägt, ist also nicht weiter schlimm.
Der Fehler mit der Lock Tabelle kann bedeuten, dass die dort verwendete ID 599 in der Tabellen isys_user_session (isys_user_session__id) nicht existiert. Kannst du mal in deiner DB schauen ob das zutrifft?
Hast du mal versucht dich neu anzumelden, so dass eine neue Session erzeugt wird? -
Hallo,
ich muss dieses Thema jetzt noch einmal aufgreifen:
Ich wollte einfach bis zum nächsten Update warten, in der Hoffnung, dass die Fehlermeldung nicht mehr erscheint, aber nach einem Update auf 0.9.5 habe ich leider wieder das selbe Problem.Die Tabelle isys_user_session setzt die Sessions der Benutzer korrekt (auch richtige ID) und löscht diese nach einem Logoff auch wieder heraus. Mit ab/anmelden oder auch mit einem anderen Benutzer anmelden funktioniert leider auch nicht…
Was mich jetzt noch wundert ist, dass wenn ich die Fehlermeldung wegklicke, ich dann ganz normal neue Objekte anlegen kann ohne weitere Fehlermeldungen zu erhalten. Ist es vielleicht möglich diese Fehlermeldung/Warnung zu deaktivieren? (als Übergangslösung)
Danke und LG,
Fisi. -
Was ist bei dir unter Verwaltung -> Regedit -> Idoit -> Constants -> LOCK__DATASETS bei "Wert:"
-
Um die Meldung auszustellen kannst du aber den Foreign key einfach löschen (In der Mandanten-DB).
SQL:
ALTER TABLEisys_lock
DROP FOREIGN KEYisys_lock_ibfk_1
; -
Hallo,
mit den beiden Befehlen:
ALTER TABLE
isys_lock
DROP FOREIGN KEYisys_lock_ibfk_1
;
ALTER TABLEisys_lock
DROP FOREIGN KEYisys_lock_ibfk_2
;habe ich jetzt die Foreign Keys entfernt (beim Update auf 0.9.6, da die Fehlermeldung nach wie vor kam).
Jetzt erscheint keine Fehlermeldung mehr und es scheint auch alles zu funktionierenVielen Dank und LG,
Fisi.