Menu

Probleme mit TRIGGER (DB) und SQL-Editor

German
Anonymous
2016-04-25
2016-05-10
  • Anonymous

    Anonymous - 2016-04-25

    Hallo Axel,
    ich habe limbas 2.9 (auf centos7, 64 bit, apache, maxdb ..) und moechte einige Datenbank-Trigger implementieren.
    Leider scheint da was nicht zu funktionieren und ich finde den Fehler nicht. In der Oberflaeche zum Anlegen von DB-Triggern war ich es aus frueheren limbas-versionen gewohnt, dem Trigger einen Namen zu geben, die Tabelle auszuwählen, triggertyp dann <add> und gut ist. In der 2.9 ist das Auswahl-Feld, in dem ich die entsprechende Tabelle auf die der Trigger angelegt werden soll, auswähle, leer. Damit kann ich natuerlich auch keine Trigger anlegen. Scheint mir ein ähnlicher Effekt zu sein, wie ich ihn z.B. im 'SQL-Editor'' habe. Auch dort befindet sich ein Auswahlfeld in dem ich normalerweise eine Tabelle auswähle und mir dann den Inhalt oder die Struktur anzeigen lassen kann. Auch dieses Feld ist bei mir leer.
    Ich habe weder PHP- noch SQL-Fehler in den logs.
    Wo koennte das Problem liegen?
    Danke und Gruesse
    Markus</add>

     
  • Axel Westhagen

    Axel Westhagen - 2016-04-25

    Servus Markus

    Ich hab die 2.9 mal auf maxdb probiert und kein Problem feststellen können.
    Die Funktion "dbf_20()" die die Tabellen ausliest ist in lib/db/db_maxdb76_admin.lib.
    Sie stellt Grunde die SQL Funktion "odbc_tables()" von PHP dar.
    http://php.net/manual/de/function.odbc-tables.php

    Probleme kann es geben wenn es eine andere maxdb Version als 7.6 ist. Die haben wir noch nicht vollständig implementiert da 7.6 die letzte freie Version vom mysql vertriebene ist bevor sie wieder zurück zu SAP ging.

    Ansonsten mal die odbc_tables prüfen und was limbas für Parameter übergibt. Z.B ist das Schema das richtige. Ich kann allerdings auch nicht ausschließen das es Probleme mit den neuen Versionen von UnixODBC oder PHP von centos7 gibt.

    Gruß Axel

     
  • Anonymous

    Anonymous - 2016-04-25

    Hallo Axel,
    ich werde es die naechsten Tage testen. Datenbank ist 7.6. Ich denke nicht, dass es an PHP, ODBC oder einem anderen Systembestandteil liegt. Ich habe auf demselben Server mit demselben Web-Server und derselben Datenbank ein limbas 2.0.45-System laufen (lediglich andere Instanz). Dort funktioniert es uneingeschraenkt. Oder gibt es einen wesentlichen Unterschied im Handling zwischen 2.0.45 und 2.9 an der Stelle?
    Danke und Gruesse
    Markus

     
  • Axel Westhagen

    Axel Westhagen - 2016-04-25

    ok das vereinfacht die Sache..
    Du kannst die Funktion "dbf_20()" mal mit der aktuellen V 1.10 vergleichen. So wie ich das sehe sind sie gleich. 2.0 ist allerdings schon etwas älter ... da muß ich ins Archiv :)
    Wie gesagt, probiere mal die Funktion odbc_tables händisch mit den Parametern aus und vergleiche die Parameter auch mit der die funktioniert. Irgendwas muß anders sein. Sehr spannend..

    passt die inc/include_db.inc ?

    Wenn du fündig geworden bist poste bitte das Ergebnis.

    Gruß Axel

     
  • Anonymous

    Anonymous - 2016-05-10

    Hallo Axel,
    Fehler gefunden, kleine Ursache, grosse Wirkung. Maxdb ist normalerweise bzgl. Tabellennamen Attribute, DB-Username und Passwort usw. nicht case-sensitiv und interpretiert alle diese Namen grossschriftlich. Das gilt aber anscheinend nicht fuers DB-Schema.

    inc/include_db.inc

    $DBA["DBSCHEMA"] = "connectuser"; << geht nicht

    $DBA["DBSCHEMA"] = "CONNECTUSER"; << geht

    Vielleicht kann man das ja in kuenftigen Releases im Installer abfangen (DBSCHEMA immer gross bei maxdb)

    Warum hat es unter 2.0.45 dennoch funktioniert ?
    Weil 2.0.45 an dieser Stelle nicht dbf_20() sondern $gtab["table"] verwendet.

    Gruesse
    Markus

     

Log in to post a comment.

MongoDB Logo MongoDB