我们有两次DB2安装。DB2中外键的最大长度? (SQL0107N)
当定义一个长名称的外键时,它可以在一个实例上正常工作,但不在另一个实例上(我们得到一个SQL0107N Name too long - max length is 18
)。
什么是造成这种不同的行为?有没有我们可以改变的参数,还是与版本有关?
我们有两次DB2安装。DB2中外键的最大长度? (SQL0107N)
当定义一个长名称的外键时,它可以在一个实例上正常工作,但不在另一个实例上(我们得到一个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,是用于对图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.
看看下面的链接:
我看到了约束的名称可以是128,我们使用版本9.7 LUW。所以v9的18个字节是不正确的。我已经能够在数据库中创建一个外键,其名称的有效长度为19个字节。
描述或引用相关章节并将链接作为参考发布通常会更好。即使链接稍后中断,这也会保持答案的相关性。 – cyroxis 2016-05-26 12:36:39
感谢您的信息。我以为我们都是在v9上,但似乎最好谨慎一点。 – Thorsten 2010-05-12 16:00:26