資料工具的版本注意事項

(C) Copyright International Business Machines Corporation 2000, 2006. All rights reserved.US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM(R) Corp.

內容

1.0 限制
   1.1 資料設計專案中沒有可供常式使用的 SQL 工具
2.0 已知的問題和暫行解決方法
   3.1 Datatools 元件的已知問題和暫行解決方法

1.0 限制

1.1 資料設計專案的常式沒有 SQL 工具可用

工作台有兩種新型的資料專案:

資料設計專案用來建立和儲存資料模型,例如實體資料模型和邏輯資料模型。 資料開發專案用來建立和儲存資料應用程式開發物件,例如儲存程序和使用者定義的函數(又稱為常式)。 從資料設計專案的角度來看,「常式」也可視為實體資料模型的一部分。 然而,資料設計專案對常式的開發支援有限,且資料設計專案中也沒有提供常式的 SQL 工具支援。 開發常式時,建議使用指定的資料開發專案,有較完整的支援,包括精靈、常式編輯器、除錯支援及 SQL 工具整合。

2.0 已知的問題和暫行解決方法

2.1 Datatools 元件的已知問題和暫行解決方法

2.1 Datatools 元件的已知問題和暫行解決方法

表格資料編輯器:
. 如果您定義的表格只含一個 XML 資料類型的直欄,或任何表格中含有非唯一的列, 則使用表格編輯器來刪除一列時,將刪除符合此列的所有列。 為了解決這個問題,請勿使用表格資料編輯器在含有重複列的表格中刪除一列。

. 在表格資料編輯器中,如果在沒有主要索引鍵的 XML 表格上執行 XML 驗證, XML 驗證只在第一次有效,也就是當您插入 XML 值時。 此外,配合 XML 驗證來更新現有的 XML 直欄也會失敗。 為了解決這個問題,請在含有 XML 直欄的表格上建立主要索引鍵。


註解的 XSD 對映編輯器:
. 如果在此編輯器中處理多個根元素,當您儲存註解的 XSD 檔案時會發生錯誤。 為了解決這個問題,請為每一個根元素個別建立一組 XML 綱目文件檔。


XML:
. 為了使用 XML 資料類型和處理 XML 綱目,您必須連接 UTF-8 資料庫。

 . 從資料庫傳回的 XML 文件資料量不受限制。視您傳回的資料量而定,可能會影響效能。

 


SQL 工具:
. SQL 編輯器目前在執行 SQL 動作期間不支援主變數。 為了解決這個問題,您可以從 SQL 建置器執行 SQL(如果是 DML 陳述式)。 

 . 在 SQL 建置器中,不支援完整 SQL 語法。例如,不支援「使用者定義的類型 (UDT)」和「表格」函數。


常式開發:
. 不支援以使用者定義的類型 (UDT) 做為常式的參數。

 . 若要使用 Ant 部署從檔案系統中部署以 DB2(R) UDB for iSeries(TM) 為目標的 Java(TM) 儲存程序, 您必須確定系統類別路徑中有 jt400.jar。

 . 如果嘗試以 DeployInstructions.txt 中的指示來部署匯出的儲存程序,可能會出現下列錯誤訊息:
...[createsp] 無法連接目標資料庫。
[createsp] com.ibm.db2.jcc.DB2Driver... 


為了解決這個問題,請確定系統類別路徑中有 db2jcc.jar 和適當的授權檔。

 .部署或執行 Java 儲存程序時,可能出現「無法載入類別」錯誤。 如果 RAD 第 7 版和 DB2 伺服器的 JDK 版本不符,或 DB2 伺服器使用舊版 JDK,則會發生這個錯誤。
為了避免這個錯誤,當您在使用 JDK 1.4 層次的伺服器上部署 Java 儲存程序時, 請在「部署常式」精靈的編譯選項欄位中指定 "-source 1.4" 選項。 (例如 DB2 Universal Database(TM) for Linux(R)、UNIX(R)、 及 Windows(R) 8.2 版伺服器)。 通常可使用適當的編譯選項 "-source JDK level " 來符合資料庫伺服器的 JDK 層次。

 . 使用 Ant 部署功能來部署儲存程序或 UDF 時, 如果類別路徑中沒有 tools.jar 檔案,可能會出現下列訊息:
找不到 tools.jar。預期應該在 F:\jre\1.4.2\lib\tools.jar 中找到
tools.jar 是 JRE(Java 執行時期環境)的一部分,不屬於 Ant 部署工具。
執行 Ant Script 不需要 tools.jar,所以現在不妨忽略這個訊息。

 . 在儲存程序編輯器中變更 Java 方法名稱時, 即使在編輯器「程式碼」頁面按一下滑鼠右鍵再選取儲存,仍無法適當地儲存程序。 為了解決這個問題,請按一下「檔案->儲存」、按 Ctrl+S 或按一下儲存圖示,將儲存程序儲存起來。

 . 如果在不同的伺服器之間拖放儲存程序或 UDF (例如,從 DB2 UDB for Linux、UNIX、及 Windows 伺服器至 DB2 UDB for z/OS(R) 伺服器), 則拖放作業期間會出現警告,表示兩個伺服器之間存在某些不相容性。 如果堅持繼續執行,然後嘗試開啟儲存程序或 UDF,可能會出現錯誤。


SQL 程序側寫:
. 在 DB2 UDB for Linux、UNIX、及 Windows 8.2 版伺服器上執行 SQL 側寫時, 如果伺服器遺漏 JCC 驅動程式擷取錯誤訊息文字所需的儲存程序 (SYSIBM.SQLCAMESSAGECCSID),可能會導致空值指標異常狀況。 為了解決這個問題,您可以在建立伺服器連線時不使用 retrieveMessagesFromServerOnGetMessage=true 設定。

. 在監視 SQL 程序的異常狀況期間, 程序中發出的 INSERT、SELECT、DELETE 及 UPDATE 等 DML 陳述式會產生事件。 但對於程序化陳述式(例如變數指派)和控制結構(例如 WHILE 或 IF),無法產生很明確的事件。


儲存程序除錯器:
. 連接 UNIX DB2 伺服器之後,當您新增岔斷點或以除錯模式執行時,可能會發生逾時異常狀況。

 . 除錯器無法處理名稱中混合中英文字元的儲存程序。

 . 監視表示式僅支援動態 Java 儲存程序。不支援 SQL 和 SQLJ 儲存程序。

 . 如果岔斷點不是在可執行陳述式的第一個記號上,例如 SET,則除錯器不會在此岔斷點上停止。 此外,也不會在 DECLARE CONTINUE、CLOSE CURSOR 或 ROLLBACK 上停止。

 . 在對 Java 儲存程序除錯時,如果選取「終止」動作,可能需要經過數分鐘,除錯階段作業才會完全終止。 在此期間啟動的新除錯階段作業會不正常。

 . 如果除錯的 Java 儲存程序會呼叫第二個 Java 儲存程序,則無法對第二個儲存程序除錯。 您無法進入巢狀儲存程序內執行,您在巢狀儲存程序中設定的任何岔斷點會被忽略。 DB2 UDB for Linux、UNIX、及 Windows 有這項限制。

 . 在對 Java 儲存程序除錯時,如果發生「等待封包時逾時」錯誤,請試著延長 Java 逾時設定。 若要延長 Java 逾時設定,請從工作台功能表列按一下視窗 > 喜好設定。 展開 Java 節點,再按一下除錯。 在「除錯」喜好設定頁面上,增加通訊逾時區段中的除錯器逾時值。 建議至少將預設值加大兩倍。

 . 在對 Java 儲存程序除錯時,如果使用變更值動作來修改空字串值的變數,編輯對話框中的確定按鈕可能不會啟用。 若要啟用此按鈕,請選取輸入評估圓鈕,設為非空字串的值(例如 'a'),然後選取輸入字面文字圓鈕。 確定按鈕將會啟用。

 . 如果在對 Java 儲存程序除錯時沒看到區域變數,則儲存程序可能不是以 -g 編譯器選項來部署。 請記得在部署 Java 儲存程序時指定 -g 編譯器選項。

 . 如果在「變數」視圖中看到「堆疊框無效」訊息,請至「除錯」視圖,按一下堆疊框上方的執行緒物件,然後按一下堆疊框。 這樣會重新整理「變數」視圖,不會再出現錯誤。

 . 除非已套用 iSeries PTF,更新程式行對映圖來對應於 SQLJ 程式碼而非 Java 程式碼, 否則在對 DB2 UDB for iSeries V5 R4 上執行的 SQLJ 儲存程序除錯時, 執行的現行行不會對應於「除錯」視圖中顯示的指定 SQLJ 程式行。

 . 無法辨識階段作業管理程式逾時的除錯器喜好設定。 這些喜好設定的設定如下:按一下視窗 > 喜好設定,展開執行/除錯節點, 再按一下 DB2 儲存程序除錯器。修改階段作業管理程式逾時(分鐘)欄位。

 . 除錯器無法在 DB2 for Linux, UNIX, and Windows 上處理有大量變數的儲存程序。變數最多 200 個。

 . 除錯階段作業中的游標移動:在某些情況下,當一個程序中有多個變數宣告時, 必須按許多次進入副程序執行過副程序,才能移動到下一行。 例如,在這一行必須按兩次: DECLARE v_dept, v_actdept CHAR(3);在這一行必須按三次: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2);您按的次數必須等於變數宣告數量。

 . 如果對 Java 儲存程序啟動除錯階段作業並新增岔斷點,然後停用岔斷點,則岔斷點仍然有效。 為了解決這個問題,在啟動新的除錯階段作業時,請先移除所有舊的岔斷點,再新增岔斷點。

 . 在某些情況下,當您使用多個資料開發專案時,如果試圖對儲存程序除錯,可能會發生錯誤, 指出「找不到儲存程序 PROCNAME。程序可能已從工作區刪除」或「找不到來源」。

. 如果在終止 Java 儲存程序的除錯階段作業之後又立即對 SQL 儲存程序除錯, 除錯器可能會顯示「使用者定義的函數... 已被使用者中斷。」為了解決這個問題,請試著再次對 SQL 儲存程序除錯。


資料核心功能:
. 現在,來回工程期間支援 ALIAS、MQT、NICKNAME 及 SYNONYM,但在 EJB 對映程序中仍不支援。
. 對 MySQL 4.1 的支援受限:「內容」視圖無法正確顯示下列內容: 唯一的索引、自動增量直欄、直欄的 NULL 和二進位預設值。 此外也不支援 C 程序和函數。

 . 觸發程序、核對限制及概略表不支援 Cloudscape(TM) 5.1 版:「資料庫瀏覽器」中不會顯示 Cloudscape 5.1 版觸發程序和核對限制。 在「內容」視圖中,SQL 主體沒有 Cloudscape 5.1 版概略表。 您無法產生 DDL 或逆推 Cloudscape 5.1 版觸發程序、核對限制或概略表。