2016-08-01 7 views
0

私のアプリケーションでは、テーブルにカラムを追加しようとしていますが、カラムをユニークな識別子として使用してテーブルの他のカラムを更新します。Openedge JDBC:テーブルのテーブルロックを取得できませんPUB._File

これを行うために、私は排他モードでテーブルをロックして、新しい列UNIQ_IDを追加します。私はテーブルを変更しようとしているときに以下のエラーが表示されます。

更新クエリ:EXCLUSIVE MODEのLOCK TABLEのPUB "顧客"

更新クエリ:表PUBをALTER "顧客" ADD(UNIQ_ID整数)

ます。java.sql.SQLException :[DataDirect] [OpenEdge JDBCドライバ] [OpenEdge] PUB._Fileテーブルのテーブルロックを取得できません。

私はここで何が欠けていますか?

+0

_Fileテーブルのロックを保持しているトランザクションがあります。そのトランザクションをコミットまたはロールバックする必要があります。 – Austin

+0

これを直接実行しないでください。関連するフィールドと依存関係を正しく追加することはできませんので、そのためにProgressツールを使用してください。そこからデータを読むことはできますが、Progressのメタスキーマへの書き込みは非常に悪い考えです。下のトムの答えを参照してください、トム・バスコムは進歩の世界の重要な人です。 – bupereira

答えて

2

メタスキーマを直接操作することは非常に悪い考えであり、おそらく動作しません。

テーブル、列、インデックスなどを追加するために、Progressが提供するツールを使用する必要があります。

関連する問題