DB2 を 2 つインストールしています。
長い名前で外部キーを定義すると、1 つのインスタンスでは正常に機能しますが、他のインスタンスでは機能しません (SQL0107N が発生しますName too long - max length is 18
)。
この異なる動作の原因は何ですか? 変更できるパラメーターはありますか、それともバージョンに依存しますか?
DB2 を 2 つインストールしています。
長い名前で外部キーを定義すると、1 つのインスタンスでは正常に機能しますが、他のインスタンスでは機能しません (SQL0107N が発生しますName too long - max length is 18
)。
この異なる動作の原因は何ですか? 変更できるパラメーターはありますか、それともバージョンに依存しますか?
これはバージョンに依存しているようです。http://ptgmedia.pearsoncmg.com/images/0672326132/downloads/appd.pdfおよびhttp://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibmによると.db2.udb.admin.doc/doc/r0001029.htmでは、db2 の 7、8、および 9 バージョンの参照制約名の制限は次のとおりです。
v7 8 bytes
v8 128 bytes
v9 18 bytes
これらの制限は変更できません。そのため、最も制限の厳しいケースに従うことで、簡単に移植できるアプリケーション プログラムを設計することができます。
次のリンクを見てください。
制約名は 128 にすることができ、LUW にはバージョン 9.7 を使用しています。したがって、v9 の 18 バイトは正しくありません。そして、名前の有効長が 19 バイトの外部キーをデータベースに作成することができました。