Announcement

Collapse
No announcement yet.

Index in Paradox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Index in Paradox

    Hallo, ich
    habe leider folgendes Problem:

    Ausgangssituation:
    Es besteht eine Paradoxtabelle. Diese möchte ich nachträglich mit zusätzlichen Indizes versehen.
    Dabei gehe ich wie folgt vor:

    if Assigned(Database1) then begin
    with Database1 do begin
    DatabaseName := 'C:\Datenbank';
    Connected := TRUE;
    LoginPrompt := FALSE;
    Transisolation := tiDirtyRead;
    end;
    end;
    //
    if Assigned(Query1) then begin
    with Query1 do begin
    Active := FALSE;
    CachedUpdates := FALSE;
    RequestLive := TRUE;
    DatabaseName := 'C:\Datenbank';
    end;
    end;
    //
    cSql := 'CREATE UNIQUE INDEX Test ON "Beispiel.db"(Nummer,Bezeichnung)';
    qryIndex.SQL.Clear;
    qryIndex.SQL.Add(cSql);
    //
    if Database1.InTransaction = FALSE then begin
    Database1.StartTransaction;
    qryIndex.ExecSQL;
    Database1.Commit;
    end;

    Problem:
    Bei der Ausführung erscheint folgende Fehlermeldung:

    "Eine Benutzertransaktion ist bereits aktiv. Datei oder Verzeichnis nicht vorhanden".

    Gibt es eine Lösung dafür ?

  • #2
    Hallo,

    eine Paradox-Datenbank kann mit Transaktionen nicht umgehen, daher muss die BDE diese Fähigkeiten mit Hilfe von temporären Tabellen <b>simulieren</b>. Bei einer DDL-Anweisung (Data Definition Language-Teil von SQL) macht diese Simulation einer Transaktion jedoch überhaupt keinen Sinn. Was passiert, wenn diese Anweisung ohne Klimbim drumrum direkt mit ExecSQL ausgeführt wird

    Comment


    • #3
      klimbim entfernt, funktioniert
      vielen dan

      Comment

      Working...
      X