Ich benutze DBVisualizer, um DDL aus einer Oracle 10.2 DB zu extrahieren. Ich bekomme seltsame Instanzen von wiederholten Spalten in Constraints oder wiederholte Constraints in der generierten DDL. Zuerst habe ich es auf einen Fehler in DBVisualizer hingewiesen, aber ich habe versucht, Apache DDLUtils gegen die DB zu verwenden und es hat Fehler geworfen, die sich als durch dasselbe Problem verursacht ergaben. Die Tabellenmetadaten, die von Oracle zurückgegeben werden, scheinen für einige FK-Einschränkungen mehrere Einträge zu enthalten.Warum spuckt Orakel schlechte Tabellenmetadaten aus?
Ich kann keinen Verweis auf diese Art von Sache von meinen Google-Suchen finden und ich fragte mich, ob jemand anderes die gleiche Sache gesehen hatte. Ist dies ein Fehler im Oracle-Treiber oder enthalten die Metadaten zusätzliche Informationen, die gelöscht werden, wenn meine Tools darauf zugreifen, was zu Verwirrung seitens der Tools führt ...
Hier ist ein Beispiel (abgeschnitten) DDL Ausgabe von
CREATE TABLE ARTIST
(
ID INTEGER NOT NULL,
FIRST_NAME VARCHAR2(128),
LAST_NAME VARCHAR2(128),
CONSTRAINT ARTIST_ID_PK PRIMARY KEY(ID),
CONSTRAINT ARTIST_CONTENT_ID_FK FOREIGN KEY(ID, ID, ID) REFERENCES CMS_CONTENT(CONTENT_ID, CONTENT_ID, CONTENT_ID)
-- note the multiple instances of ID and CONTENT_ID in the above line
-- rest assured there is nothing bizarre about the foreign table CMS_CONTENT
)
ich bin versucht, ein Java-Beispiel zu finden, die das Verhalten zeigen kann und wird die Frage aktualisieren, wenn ich ein konkretes Beispiel haben.
Ich habe auf diesem System nie in der Lage gewesen, alles andere als 31603 aus GET_DDL get() und bekommen Berechtigungen geändert hat, ist ein gigantischer Schmerz im Arsch, aber die select-Anweisung Werke scheint und Ihre Vermutung zu unterstützen . Ich denke, ich muss einen Fehler gegen DBVis und ddlutils einreichen. – Jherico