0

cx_OracleToolのCopyData.pyスクリプトを使用して、別々のOracleスキーマ/インスタンス上の2つのテーブル間でデータをコピーしようとしています。

http://cx-oracletools.sourceforge.net/cx_OracleTools.html

テーブルに対して実行すると、次のエラーが発生します。

No primary or unique constraint found on table.

正直なところ、Oracleについてはよくわかりませんが、私が知る限り、テーブルにはPK制約などが定義されていないようです。

これのメリットはさておき、便宜のためにそのように設定されているだけであり、近いうちに変更される可能性は低いと思います。

PK制約なしでこのシナリオでcopyData.pyを実行する方法はありますか?

乾杯、ビクター

4

1 に答える 1

0

問題は、CopyData が宛先テーブルに行が存在するかどうかを確認することであり、一意のキーがないとそれを行うことができません。

すべての行を挿入し、変更された行を更新しないことが許容される場合は、 --no-check-exists オプションを使用します。コードによると、これは主キーのチェックをバイパスします。

それ以外の場合は、 --key-columns=COLS オプションを使用して、一意のキーとして使用する列を手動で指定します。これにより、主キーのチェックもバイパスされます。

于 2011-11-08T00:06:13.607 に答える