我们有两个 DB2 安装。
当定义一个长名称的外键时,它在一个实例上运行良好,但在另一个实例上却不行(我们得到一个 SQL0107N Name too long - max length is 18
)。
是什么导致了这种不同的行为?是否有我们可以更改的参数或者它取决于版本?
我们有两个 DB2 安装。
当定义一个长名称的外键时,它在一个实例上运行良好,但在另一个实例上却不行(我们得到一个 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,我们使用 9.7 版本的 LUW。所以 v9 的 18 个字节是不正确的。而且我已经能够在数据库中创建一个有效长度为 19 个字节的外键作为其名称。