2010-05-12 84 views
0

我们有两次DB2安装。DB2中外键的最大长度? (SQL0107N)

当定义一个长名称的外键时,它可以在一个实例上正常工作,但不在另一个实例上(我们得到一个SQL0107N Name too long - max length is 18)。

什么是造成这种不同的行为?有没有我们可以改变的参数,还是与版本有关?

回答

4

这似乎是版本相关的。根据http://ptgmedia.pearsoncmg.com/images/0672326132/downloads/appd.pdfhttp://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0001029.htm,是用于对图7,图8,和图9版本的DB2的参照关系约束的名称的限制如下:

v7 8 bytes 
v8 128 bytes 
v9 18 bytes 

这些限制不能被改变。所以Adhering to the most restrictive case can help you to design application programs that are easily portable.

+0

感谢您的信息。我以为我们都是在v9上,但似乎最好谨慎一点。 – Thorsten 2010-05-12 16:00:26

0

看看下面的链接:

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。所以v9的18个字节是不正确的。我已经能够在数据库中创建一个外键,其名称的有效长度为19个字节。

+0

描述或引用相关章节并将链接作为参考发布通常会更好。即使链接稍后中断,这也会保持答案的相关性。 – cyroxis 2016-05-26 12:36:39