2010-05-12 68 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