(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.
工作台有兩種新型的資料專案:
- 資料設計專案
- 資料開發專案
資料設計專案用來建立和儲存資料模型,例如實體資料模型和邏輯資料模型。 資料開發專案用來建立和儲存資料應用程式開發物件,例如儲存程序和使用者定義的函數(又稱為常式)。 從資料設計專案的角度來看,「常式」也可視為實體資料模型的一部分。 然而,資料設計專案對常式的開發支援有限,且資料設計專案中也沒有提供常式的 SQL 工具支援。 開發常式時,建議使用指定的資料開發專案,有較完整的支援,包括精靈、常式編輯器、除錯支援及 SQL 工具整合。
表格資料編輯器:
. 如果您定義的表格只含一個 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 版觸發程序、核對限制或概略表。