0

我们有两个 DB2 安装。

当定义一个长名称的外键时,它在一个实例上运行良好,但在另一个实例上却不行(我们得到一个 SQL0107N Name too long - max length is 18)。

是什么导致了这种不同的行为?是否有我们可以更改的参数或者它取决于版本?

4

2 回答 2

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

于 2016-05-26T12:20:22.327 回答