immergut
2005-03-18 12:18:56 UTC
Hallo!
Als Projekt für meine Facharbeiterprüfung habe in das Problem
XML-DTD's in Tabellenstruckturen für Access umzuwandeln.
Input: XML-DTD
Output: SQL-Datei
Nun mein Problem:
Access hat eine Bregenzung auf 32 Indezies pro Tabelle. Leider kann
ich nicht nachvollziehen, wo Access, wenn ich einen Fremdschlüssel
setze, diesen Index anlegt. Also in der, wo sich der Fremdschlüssel
befindet, oder in der, auf der sich der Fremdschlüssel bezieht. In den
meisten Fällen wurde bei mir der Index in die Beziehungs-Tabelle
geschrieben, aber es gab auch Fälle, wo der Index direkt in die
Tabelle geschrieben wurde, wo der Primärschlüssel ist.
Ich habe nun auf beiden Seiten mitgezählt und wenn ich über 32
Indezies komme, eine neue Tabellen erstellt. Also auf beiden Seiten 32
abgesichert.
Per ODBC schreibe ich die Tabellen.
Trotzdem erhalte ich immer folgende Fehlermeldung:
[Microsoft][ODBC Microsoft Access Driver] Die Operation ist
fehlgeschlagen. Tabelle 'div' enthält zu viele Indizes. Löschen Si
Allgemeiner SQL-Fehler
einige Indizes der Tabelle, und versuchen Sie die Operation noch
einmal.
Wenn ich mir über einen SQL-Explorer die Datenbank angucke, sind in
der entsprechenden Tabelle aber nicht mehr als 20 Indezies drin.
Kurmisch ist auch, im Access wird mir als Indezies immer nur der
Primärschlüssel angezeigt.
Könnt ihr mir da helfen?
Bsp.: h++p://home.arcor.de/gdbhecht/onix-international.dtd2.1_rev02.rar
PS: Also ich hab 2 Programme. Eins wandelt die XML-Dtd in Tabellen um,
schreibt eine Text-Datei mit SQL-Statments. Das 2. Liest die Textdatei
ein und überträgt die SQL-Befehle per ODBC an meine Access-Datenbank.
Als Projekt für meine Facharbeiterprüfung habe in das Problem
XML-DTD's in Tabellenstruckturen für Access umzuwandeln.
Input: XML-DTD
Output: SQL-Datei
Nun mein Problem:
Access hat eine Bregenzung auf 32 Indezies pro Tabelle. Leider kann
ich nicht nachvollziehen, wo Access, wenn ich einen Fremdschlüssel
setze, diesen Index anlegt. Also in der, wo sich der Fremdschlüssel
befindet, oder in der, auf der sich der Fremdschlüssel bezieht. In den
meisten Fällen wurde bei mir der Index in die Beziehungs-Tabelle
geschrieben, aber es gab auch Fälle, wo der Index direkt in die
Tabelle geschrieben wurde, wo der Primärschlüssel ist.
Ich habe nun auf beiden Seiten mitgezählt und wenn ich über 32
Indezies komme, eine neue Tabellen erstellt. Also auf beiden Seiten 32
abgesichert.
Per ODBC schreibe ich die Tabellen.
Trotzdem erhalte ich immer folgende Fehlermeldung:
[Microsoft][ODBC Microsoft Access Driver] Die Operation ist
fehlgeschlagen. Tabelle 'div' enthält zu viele Indizes. Löschen Si
Allgemeiner SQL-Fehler
einige Indizes der Tabelle, und versuchen Sie die Operation noch
einmal.
Wenn ich mir über einen SQL-Explorer die Datenbank angucke, sind in
der entsprechenden Tabelle aber nicht mehr als 20 Indezies drin.
Kurmisch ist auch, im Access wird mir als Indezies immer nur der
Primärschlüssel angezeigt.
Könnt ihr mir da helfen?
Bsp.: h++p://home.arcor.de/gdbhecht/onix-international.dtd2.1_rev02.rar
PS: Also ich hab 2 Programme. Eins wandelt die XML-Dtd in Tabellen um,
schreibt eine Text-Datei mit SQL-Statments. Das 2. Liest die Textdatei
ein und überträgt die SQL-Befehle per ODBC an meine Access-Datenbank.