Fehler in der mapbender_2_1_0 Datenbank?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Fehler in der mapbender_2_1_0 Datenbank?

webgisler
Hallo Mapbender-Anwendergemeinde,

bei mir treten folgende Fehler auf 2 Rechnern auf (unter WinXP) (MySQL 4.0.21-nt):

- bei der Aktualisierung der Capabilities: der WMS Titel verschwindet aus dem Ordnerbaum und die abfragbaren Ordner verändern sich (obwohl sie beim Upload der Capabilites richtig angezeigt werden); die Abfrage funktioniert dann teilweise nicht mehr.

- nach dem vollständigen löschen und neuem Capabilities-Upload eines WMS kommt die Fehlermeldung „Error: no valid capabilites-document !!“, obwohl der Upload vorher keine Fehlermeldung gebracht hat; die Meldung erscheint erst wenn man die Karte aufruft (derjenige WMS-Titel erscheint dann nicht in der Karte);
anschließend lässt sich kein einziger WMS mehr hochladen, Abhilfe bringt manchmal eine neue GUI oder das komplette Löschen der Datenbank, aber leider tritt der Fehler dann bald wieder auf.

- Einer der Rechner stürzt seit diesem Problem oft komplett ab und bringt die Meldung „Bad Pool Caller“.

- Mit einer neueren Version von MySQL (5.0) erscheint beim einlesen der Tabelle „GUI_elements“ eine Fehlermeldung, dass die Daten der Tabelle nicht eingelesen werden können und dass das weitere einlesen aus dem Skript abgebrochen wird.
Beim Einlesen in der 4.0.21-Version kam die Fehlermeldung „internal server error“ – die Datenbank war aber nach einer Aktualisierung der Seite vorhanden.

Kann es sein dass da ein Fehler in der Mapbender-Datenbank vorliegt? An den Mapfiles usw. liegt es nicht. Oder könnte es an Windows XP liegen, dass irgendwo eine Inkompatibilität vorliegt?

Vielen Dank schon mal für Hilfe,

Gruß
Melanie



-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users
Reply | Threaded
Open this post in threaded view
|

AW: Fehler in der mapbender_2_1_0 Datenbank?

Jäger, Frank (KRZ)
Hallo Melanie,

ich denke, das liegt an den Foreign-Keys innerhalb der Datenbank.

- werden nur unterstützt von InnoDB, nicht von MyISAM

- Mapbender geht davon aus, dass sie funktionieren (z.B. Delete Cascade)

- ein Dump, der auf einer anderen DB eingespielt werden soll muss händisch sortiert werden.
  z.B. folgende 3 Schritte:
  1. Tabellen anlegen             (Create Table.... , noch ohne die Foreign Keys)
  2. Laden der Daten              (Insert Into ...)
  3. Foreign Keys nachdefinieren  (Alter Table ...)

wobei:

1. und 3. aus dem mitgeliefertem SQL-Script von Mapbender 2.1
2. aus deinem Dump

mfG
F.J.


-----Ursprüngliche Nachricht-----
Von: [hidden email]
[mailto:[hidden email]]Im Auftrag von
[hidden email]
Gesendet: Montag, 24. Oktober 2005 17:29
An: [hidden email]
Betreff: [Mapbender-users] Fehler in der mapbender_2_1_0 Datenbank?


Hallo Mapbender-Anwendergemeinde,

bei mir treten folgende Fehler auf 2 Rechnern auf (unter WinXP) (MySQL 4.0.21-nt):

- bei der Aktualisierung der Capabilities: der WMS Titel verschwindet aus dem Ordnerbaum und die abfragbaren Ordner verändern sich (obwohl sie beim Upload der Capabilites richtig angezeigt werden); die Abfrage funktioniert dann teilweise nicht mehr.

- nach dem vollständigen löschen und neuem Capabilities-Upload eines WMS kommt die Fehlermeldung "Error: no valid capabilites-document !!", obwohl der Upload vorher keine Fehlermeldung gebracht hat; die Meldung erscheint erst wenn man die Karte aufruft (derjenige WMS-Titel erscheint dann nicht in der Karte);
anschließend lässt sich kein einziger WMS mehr hochladen, Abhilfe bringt manchmal eine neue GUI oder das komplette Löschen der Datenbank, aber leider tritt der Fehler dann bald wieder auf.

- Einer der Rechner stürzt seit diesem Problem oft komplett ab und bringt die Meldung "Bad Pool Caller".

- Mit einer neueren Version von MySQL (5.0) erscheint beim einlesen der Tabelle "GUI_elements" eine Fehlermeldung, dass die Daten der Tabelle nicht eingelesen werden können und dass das weitere einlesen aus dem Skript abgebrochen wird.
Beim Einlesen in der 4.0.21-Version kam die Fehlermeldung "internal server error" - die Datenbank war aber nach einer Aktualisierung der Seite vorhanden.

Kann es sein dass da ein Fehler in der Mapbender-Datenbank vorliegt? An den Mapfiles usw. liegt es nicht. Oder könnte es an Windows XP liegen, dass irgendwo eine Inkompatibilität vorliegt?

Vielen Dank schon mal für Hilfe,

Gruß
Melanie



-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users
Reply | Threaded
Open this post in threaded view
|

Re: AW: Fehler in der mapbender_2_1_0 Datenbank?

webgisler
In reply to this post by webgisler
Hallo,

danke für die schnelle Antwort!

> ich denke, das liegt an den Foreign-Keys innerhalb der Datenbank.

ich muss leider zugeben dass ich in Sachen Mapbender blutige Anfängerin bin...
aber wenn ich Dich richtig verstehe, geht es hier um die Fremdschlüsselspalten.

>  ein Dump, der auf einer anderen DB eingespielt werden soll muss händisch sortiert werden.
>  z.B. folgende 3 Schritte:
>  1. Tabellen anlegen             (Create Table.... , noch ohne die Foreign Keys)
>  2. Laden der Daten              (Insert Into ...)
>  3. Foreign Keys nachdefinieren  (Alter Table ...)

Ich verwende gar keine eigene Datenbank, sondern habe nur die mapbender_2_1_0.sql
eingeladen, eine GUI kopiert (gui1_de), die vorhandenen Inhalte rausgelöscht und über
'Capabilities hochladen' meine WMS-Titel in die Datenbank eingeladen (wir haben in diesem
Projekt nur verschiedene Mapfiles in ein GUI hochgeladen, sonst nichts).
Also habe ich vermutlich gar nichts mit Fremdschlüsselspalten zu tun. (?)
Falls doch, wie muss ich diese dann definieren?

Verstehe ich das richtig, dass der Mapbender die WMS-Dienste zwar hochläd, aber dann in der Datenbank
nicht wiederfinden kann? Wie kann ich ihm das dann beibringen?

Gruß
Melanie



-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users
Reply | Threaded
Open this post in threaded view
|

AW: Re: AW: Fehler in der mapbender_2_1_0 Datenbank?

Jäger, Frank (KRZ)
In reply to this post by webgisler
Hallo,
das Problem liegt wahrscheinlich nicht in Mapbender sondern in der MySQL-Datenbank.

Mapbender "erwartet", dass die Fremdschlüssel vorhanden sind und funktionieren.
Wenn z.B. eine GUI gelöscht wird, dann sollen auch alle Elemente der GUI mit gelöscht werden.

Das macht die Datenbank über die Funktion "on delete cascade" zum Foreign-Key.

Nun gibt es leider in MySQL zwei verschiedene "Engines" mit denen man Tabellen definieren kann.

MyISAM - kennt keine Fremdschlüssel
InnoDB - kennt Fremdschlüssel.

Dummerweise wird InnoDB manchmal nicht mit MySQL installiert (LINUX Default, evtl. auch versionsabhängig).

Im Mapbender-Script steht, dass InnoDB verwendet werden soll.
Wenn das aber gar nicht installiert ist, wird von MySQL einfach die Engine MyISAM verwendet.
Beim nächsten Löschen werden dann die abhängigen Zeilen in den angebundenen Tabellen nicht mit gelöscht.

Dann verhält sich Mapbender anschließend merkwürdig.

ALSO:

MySQL-Installation prüfen - ist InnoDB installiert?
Mapbender-Datenbank prüfen - sind die Tabellen als InnoDB-Tabellen installiert.


Beispiel:

Mit Anwendung "MySQL-Control-Center"
Context-Menü (Tabelle): "Werkzeuge / Zeige das Erzeugen"


  CREATE TABLE `gui_element` (
    `fkey_gui_id` varchar(50) NOT NULL default '',
     ........
     ........
    `e_requires` varchar(50) default NULL,
    KEY `fkey_gui_id` (`fkey_gui_id`),
    KEY `e_id` (`e_id`),
    CONSTRAINT `gui_element_ibfk_1` FOREIGN KEY (`fkey_gui_id`) REFERENCES `gui` (`gui_id`) ON DELETE CASCADE
  ) TYPE=InnoDB;



Wichtig sind die Definitionen:

  FOREIGN KEY .... ON DELETE CASCADE
  TYPE=InnoDB;


Wenn dort TYPE=MyISAM steht KANN es nicht funktionieren.

mfG
F.J.


-----Ursprüngliche Nachricht-----
Von: [hidden email]
[mailto:[hidden email]]Im Auftrag von
[hidden email]
Gesendet: Montag, 24. Oktober 2005 20:24
An: [hidden email]
Betreff: [Mapbender-users] Re: AW: Fehler in der mapbender_2_1_0
Datenbank?


Hallo,

danke für die schnelle Antwort!

> ich denke, das liegt an den Foreign-Keys innerhalb der Datenbank.

ich muss leider zugeben dass ich in Sachen Mapbender blutige Anfängerin bin...
aber wenn ich Dich richtig verstehe, geht es hier um die Fremdschlüsselspalten.

>  ein Dump, der auf einer anderen DB eingespielt werden soll muss händisch sortiert werden.
>  z.B. folgende 3 Schritte:
>  1. Tabellen anlegen             (Create Table.... , noch ohne die Foreign Keys)
>  2. Laden der Daten              (Insert Into ...)
>  3. Foreign Keys nachdefinieren  (Alter Table ...)

Ich verwende gar keine eigene Datenbank, sondern habe nur die mapbender_2_1_0.sql
eingeladen, eine GUI kopiert (gui1_de), die vorhandenen Inhalte rausgelöscht und über
'Capabilities hochladen' meine WMS-Titel in die Datenbank eingeladen (wir haben in diesem
Projekt nur verschiedene Mapfiles in ein GUI hochgeladen, sonst nichts).
Also habe ich vermutlich gar nichts mit Fremdschlüsselspalten zu tun. (?)
Falls doch, wie muss ich diese dann definieren?

Verstehe ich das richtig, dass der Mapbender die WMS-Dienste zwar hochläd, aber dann in der Datenbank
nicht wiederfinden kann? Wie kann ich ihm das dann beibringen?

Gruß
Melanie



-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users