Probleme mit AIV-Extender


[ ruban.de ] [ Antworten ] [ Forum ]

Geschrieben von Christian von der Weth on Januar 02, 2004 um 19:01:

Moin, Moin!

Ich habe da ein paar Probleme mit dem AIV-Extender. Hier mal paar Beispiele was ich gerne hätte aber so nicht funktioniert

1. Ich würde gerne eine Attribut vom Typ DB2IMAGE als PRIMARY KEY bzw. UNIQUE ausweisen, damit man ein Bild nur einmal in die DB aufnehmen kann. Prizipiell ist das auch möglich, doch beziehen sich die Klauseln ja nur auf die Spalte in der Nutzertabelle und in der steht nur diese Handle-Zeichenkette, die jedesmal verschieden ist. Also kann ich doch 2x das gleiche Bild einfügen.
Das Problem wird noch probelmatischer, wenn ich ein Bild für eine Fremdschlüsselbeziehung heranziehen will.

2. Ich würde auch gerne CHECK-Klauseln setzen, mit denen ich z.B. sage, dass nur Bilder mit abe einer bestimmten Breite eingefügt werden dürfen. Doch die Syntax "...,image DB2IMAGE CHECK (Width(image) > 100),..." wird nicht akzeptiert.

Mein Lösungsansatz für beide Probleme war ein Einsatz von Triggern. Für die Standarddatentypen kann ich mittlerweile auch eine Schlüsselbedingung oder CHECK-Bedingung nachbilden (siehe älteres Posting). Doch für DB2IMAGE erhalte ich entweder Syntaxfehler oder der Trigger macht nicht das was ich will.

Jetzt meine Frage, geht das mit dem AIV-Extender prinzipiell nicht oder stell ich mich einfach zu d**f an?

Hier mal mein Trigger für eine CHECK-Bedingung
CREATE TRIGGER widthtest
NO CASCADE BEFORE INSERT ON tab_name
REFERENCING NEW AS NEW
FOR EACH ROW MODE DB2SQL
WHEN (Width(NEW.image) 0
// Einfügen verbieten
Auch hier ist das Ergebnis nicht das erwünschte

Wie gesagt, für die Standarddatentypen bekomme ich das soweit hin. Wenn die Trigger auf Grund eines Syntaxfehlers abgewiesen werden, liegt das meist daran, das er Probleme mit den UDFs (user defined functions) des Extenders zu haben scheint.

Ich hoffe ich hab mein Anliegen halbwegs rübergebracht :). Für jede Hilfe wäre ich sehr dankbar! Ich glaube/hoffe, dass es einer meiner Schwäche für die Triggersyntax liegt. Deswegen würde ich mich auch über Quellcodebeispiel freuen :).


...noch'n schönes Wochenende!

Christian

P.S.: Weiss jmd, wie der Extender das Handle für jedes Extender Objekt zusammenbastelt. Wird bewusst nach einer freien Zeichenkette gesucht? Nur bildeigene Metadaten können ja nicht zur Konstrultion verwendet werden, sonst würde ja das gleich Bild das gleiche Handle erzeugen und damit wäre eine Schlüsselbedingung kein Problem.


Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]