Максимальная длина для внешнего ключа в DB2? (SQL0107N) - PullRequest
0 голосов
/ 12 мая 2010

У нас есть две установки DB2.

При определении внешнего ключа с длинным именем он отлично работает в одном случае, но не в другом (мы получаем SQL0107N Name too long - max length is 18).

Что является причиной этого другого поведения? Есть ли параметр, который мы можем изменить, или он зависит от версии?

Ответы [ 2 ]

4 голосов
/ 12 мая 2010

это зависит от версии. в соответствии с 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

эти ограничения не могут быть изменены. Придерживаясь самого строгого случая, вы сможете разрабатывать легко переносимые прикладные программы.

0 голосов
/ 26 мая 2016

Взгляните на следующую ссылку:

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

Я вижу, что имя ограничения может быть 128, и мы используем версию 9.7 для LUW. Таким образом, 18 байтов v9 не верны. И мне удалось создать внешний ключ в базе данных с эффективной длиной 19 байтов для его имени.

...