我們有兩次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