2016-08-01 21 views
0

In meiner Anwendung versuche ich, eine Spalte zur Tabelle hinzuzufügen, ich werde die Spalte als eindeutige Kennung verwenden, um die anderen Spalten der Tabelle zu aktualisieren.Openedge JDBC: Fehler beim Abrufen der Tabellensperre für die Tabelle PUB._File

Um das zu tun, sperr ich die Tabelle im exklusiven Modus und dann die neue Spalte UNIQ_ID hinzufügen. Beim Versuch, den Tisch zu ändern, erhalte ich den folgenden Fehler.

Aktualisierungsabfrage. LOCK TABLE PUB "Kunde" im exklusiven Modus

Aktualisierungsabfrage. Tabelle PUB ALTEN "Kunde" ADD (UNIQ_ID integer)

java.sql.SQLException : [DataDirect] [OpenEdge JDBC-Treiber] [OpenEdge] Fehler beim Abrufen der Tabellensperre für die Tabelle PUB._File.

Was fehlt mir hier?

+0

Einige andere Transaktion wird auf _file Tabelle eine Sperre hält. Sie müssen diese Transaktion entweder festschreiben oder zurücksetzen – Austin

+0

Tun Sie das nicht direkt. Sie werden wahrscheinlich nicht in der Lage sein, alle verwandten Felder und Abhängigkeiten korrekt hinzuzufügen, verwenden Sie dazu einfach die Progress-Werkzeuge. Sie können die Daten von dort alles lesen, was Sie wollen, aber das Schreiben auf Meta-Schema in Progress ist eine sehr schlechte Idee. Siehe Toms Antwort unten, Tom Bascom ist eine Schlüsselperson in der Fortschrittswelt. – bupereira

Antwort

2

Direkt das Meta-Schema zu manipulieren ist eine sehr schlechte Idee und wird wahrscheinlich nicht funktionieren.

sollten Sie die Werkzeuge verwenden, die Fortschritte Tabellen hinzufügen liefert, Spalten, Indizes usw.