kaputte Datenbank - Abfragen aulesen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

bassman
**
Beiträge: 40
Registriert: Do, 25.02.2010 18:00

kaputte Datenbank - Abfragen aulesen

Beitrag von bassman »

Hallo,

ich habe eine Base Datenbank, die irgendwie geschrottet ist.
Symptome:
- Speichergröße ist viel kleiner als bei der ursprünglichen Form
- Beim Öffnen von Abfragen und Tabellen kommt die Fehlermeldung: "Die Verbindung zur Datenquelle konnte nicht hergesellt werden..."

Nun interessieren mich weniger die Daten als die Abfragen. Gibt es eine Möglichkeit die Abfragen als SQL Text zu bekommen? Oder vielleicht weiß jemand, wie ich diese Datenbank reparieren kann.

Vielen Dank

p.s. ich bin ja lernfähig und poste die Datebank gleich mal mit.
Dateianhänge
kaputte_DB.odb
(11.34 KiB) 73-mal heruntergeladen
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: kaputte Datenbank - Abfragen aulesen

Beitrag von RobertG »

Hallo bassmann,

Du findest die Informationen zu den Abfragen, wenn Du die Datenbankdatei entpackst. Die Infos stehen in der content.xml. Hier der Abfrage-Inhalt Deiner content.xml:

Code: Alles auswählen

<db:queries><db:query db:name="Aufgabe1. Gerichte" db:command="SELECT "Gerichte"."Gericht" FROM "Positionen", "Gerichte", "Bestellung" WHERE "Positionen"."G_Nr" = "Gerichte"."Gericht_ID" AND "Positionen"."B_Nr" = "Bestellung"."B_ID" AND ( "Bestellung"."Datum" >= {D &apos;2009-04-01&apos; } OR "Bestellung"."Datum" <= {D &apos;2009-06-30&apos; } )"/><db:query db:name="Aufgabe2. Gericht mind. 6x" db:command="SELECT "Gerichte"."Gericht" FROM "Positionen", "Gerichte", "Bestellung" WHERE "Positionen"."G_Nr" = "Gerichte"."Gericht_ID" AND "Positionen"."B_Nr" = "Bestellung"."B_ID" GROUP BY "Gerichte"."Gericht" HAVING ( ( COUNT( "Bestellung"."B_ID" ) >= 6 ) )"/><db:query db:name="Aufgabe3. Hitliste" db:command="SELECT "Kunde"."K_ID", "Kunde"."Name" FROM "Bestellung", "Kunde" WHERE "Bestellung"."K_Nr" = "Kunde"."K_ID" GROUP BY "Kunde"."K_ID", "Kunde"."Name" ORDER BY COUNT( "Bestellung"."B_ID" ) DESC"/><db:query db:name="Aufgabe4. Anzahl Zutaten" db:command="SELECT "Gerichte"."Gericht", COUNT( "Zutat"."Zutat" ) AS "Zutaten" FROM "Zutat_Gericht&
quot;, "Gerichte", "Zutat" WHERE "Zutat_Gericht"."Gericht_Nr" = "Gerichte"."Gericht_ID" AND "Zutat_Gericht"."Zutat_Nr" = "Zutat"."Zutat_ID" AND ( "Zutat"."Zutat" <> &apos;Käse&apos; OR "Zutat"."Zutat" <> &apos;Sahne&apos; ) GROUP BY "Gerichte"."Gericht""/><db:query db:name="Aufgabe5. Pizza&Spaghetti" db:command="SELECT "Gerichte"."Gericht", COUNT( "Positionen"."Menge" ) AS "Menge" FROM "Positionen", "Gerichte", "Bestellung" WHERE "Positionen"."G_Nr" = "Gerichte"."Gericht_ID" AND "Positionen"."B_Nr" = "Bestellung"."B_ID" GROUP BY "Gerichte"."Gericht" HAVING ( ( "Gerichte"."Gericht" LIKE &apos;Spaghetti%&apos; ) OR ( "Gerichte"."Gericht" LIKE &apos;Pizza%&apos; ) )"/></db:queries>
Jetzt gehst Du mit "Suchen und Ersetzen darn und lässt aus " immer " (doppelte Anführungszeichen) erstellen.

Du kannst allerdings die Abfragen auch aus der defekten Datei heraus kopieren und in eine neue Datei einfügen - trotz der Fehlermeldung.

Details zur Datenbankdatei *.odb erhältst Du auch im aktuellen Handbuch.

In Deiner Datei ist eine Datei script.new im Datenbankverzeichnis. Die enthält aus mir unerfindlichen Gründen Hinweise auf die Tabellen usw.

Gruß

Robert
Dateianhänge
Reparierte_DB.odb
Habe die Abfragen einmal kopiert und die Tabellendefinitionen ausgelesen.
(4.47 KiB) 68-mal heruntergeladen
bassman
**
Beiträge: 40
Registriert: Do, 25.02.2010 18:00

Re: kaputte Datenbank - Abfragen aulesen

Beitrag von bassman »

suuper!! Danke. Konnte alle Abfragen wieder rekonstruieren. Muss ich mir merken!

Gruß
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: kaputte Datenbank - Abfragen aulesen

Beitrag von RobertG »

Hallo Bassmann,

hast Du auch noch die neu erstellte DB mit den Tabellen - allerdings nicht den Inhalten - der alten DB entdeckt? habe ich nachträglich angehängt ...

Gruß

Roebrt
Antworten