DB2 中外键的最大长度? (SQL0107N)
我们有两个 DB2 安装。
当定义具有长名称的外键时,它在一个实例上工作正常,但在另一个实例上则不然(我们得到 SQL0107N 名称太长 - 最大长度为 18
)。
是什么导致了这种不同的行为?是否有我们可以更改的参数或者它是否依赖于版本?
We have two installations of DB2.
When defining a foreign key with a long name, it works fine on one instance, but not on the other (we get a SQL0107N Name too long - max length is 18
).
What is causing this different behaviour? Is there a parameter we can change or is it version dependant?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这似乎与版本相关。根据 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 版本的引用约束名称的限制如下:
这些限制无法更改。所以 遵守最严格的情况可以帮助您设计易于移植的应用程序。
this seems to be version dependent. according to http://ptgmedia.pearsoncmg.com/images/0672326132/downloads/appd.pdf and http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0001029.htm , the limits for referential constraint names for the 7, 8, and 9 version of db2 are as follows:
these limits cannot be changed. so Adhering to the most restrictive case can help you to design application programs that are easily portable.
查看以下链接:
http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html?lang= en
我看到约束名称可以是 128,我们使用 LUW 版本 9.7。所以v9的18字节是不正确的。我已经能够在数据库中创建一个外键,其名称的有效长度为 19 个字节。
Take a look at following link:
http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html?lang=en
I see that constraint name can be 128 and we use version 9.7 for LUW. So the 18 bytes of v9 is not correct. And I have been able to create a foreign key in the database with an effective length of 19 bytes for its name.