0

DB2 を 2 つインストールしています。

長い名前で外部キーを定義すると、1 つのインスタンスでは正常に機能しますが、他のインスタンスでは機能しません (SQL0107N が発生しますName too long - max length is 18)。

この異なる動作の原因は何ですか? 変更できるパラメーターはありますか、それともバージョンに依存しますか?

4

2 に答える 2

4

これはバージョンに依存しているようです。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

これらの制限は変更できません。そのため、最も制限の厳しいケースに従うことで、簡単に移植できるアプリケーション プログラムを設計することができます。

于 2010-05-12T11:52:53.547 に答える
0

次のリンクを見てください。

http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html?lang=en

制約名は 128 にすることができ、LUW にはバージョン 9.7 を使用しています。したがって、v9 の 18 バイトは正しくありません。そして、名前の有効長が 19 バイトの外部キーをデータベースに作成することができました。

于 2016-05-26T12:20:22.327 に答える