© Copyright International Business Machines Corporation 2006. All rights reserved.US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.
工作台有兩種新型的資料專案:
- 資料設計專案
- 資料開發專案
資料設計專案用來建立和儲存資料模型,例如實體資料模型和邏輯資料模型。 資料開發專案用來建立和儲存資料應用程式開發物件,例如儲存程序和使用者定義的函數(又稱為常式)。 從資料設計專案的角度來看,「常式」也可視為實體資料模型的一部分。 然而,資料設計專案對常式的開發支援有限,且資料設計專案中也沒有提供常式的 SQL 工具支援。 開發常式時,建議使用指定的資料開發專案,有較完整的支援,包括精靈、常式編輯器、除錯支援及 SQL 工具整合。
在表格資料編輯器中,如果在沒有主要索引鍵的 XML 表格上執行 XML 驗證, XML 驗證只在第一次有效,也就是當您插入 XML 值時。 此外,配合 XML 驗證來更新現有的 XML 直欄也會失敗。
暫行解決方法:在含有 XML 直欄的表格上建立主要索引鍵。
如果在此編輯器中處理多個根元素,當您儲存註解的 XSD 檔案時會發生錯誤。
暫行解決方法:為每一個根元素個別建立一組 XML 綱目文件檔。
為了使用 XML 資料類型和處理 XML 綱目,您必須連接 UTF-8 資料庫。 從資料庫傳回的 XML 文件資料量不受限制。視您傳回的資料量而定,可能會影響效能。
- SQL 編輯器目前在「執行 SQL」動作期間不支援主變數。
暫行解決方法:您可以從 SQL 建置器執行 SQL(如果是 DML 陳述式)。
- 在 SQL 建置器中,不支援完整 SQL 語法。例如,不支援「使用者定義的類型 (UDT)」和「表格」函數。
- 不支援以使用者定義的類型 (UDT) 作為常式的參數。
- 若要使用 Ant 部署從檔案系統中部署以 DB2 Universal Database™ for iSeries® 為目標的 Java™ 儲存程序,您必須確定系統類別路徑中有 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 for Linux®、UNIX®、及 Windows® 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 Universal Database for Linux, UNIX, and Windows 伺服器至 DB2 Universal Database for z/OS® 伺服器), 則拖放作業期間會出現警告,表示兩個伺服器之間存在某種不相容性。 如果繼續執行,然後嘗試開啟儲存程序或 UDF,可能會出現錯誤。
- 在 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 儲存程序,則無法對第二個儲存程序除錯。 您無法進入巢狀儲存程序內執行,您在巢狀儲存程序中設定的任何岔斷點會被忽略。 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、及 Windows 上處理有大量變數的儲存程序。變數最多 200 個。
- 除錯階段作業中的游標移動:在某些情況下,當一個程序中有多個變數宣告時,必須按許多次「進入副程序」或「執行過副程序」,才能移動到下一行。 例如,在這一行必須按兩次: DECLARE v_dept, v_actdept CHAR(3);在這一行必須按三次: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2);您按的次數必須等於變數宣告數量。
- 如果對 Java 儲存程序啟動除錯階段作業並新增岔斷點,然後停用岔斷點,則岔斷點仍然有效。
暫行解決方法:在啟動新的除錯階段作業時,請先移除所有舊的岔斷點,再新增岔斷點。
- 在某些情況下,當您使用多個資料開發專案時,如果試圖對儲存程序除錯,可能會發生錯誤, 指出「找不到儲存程序 PROCNAME。程序可能已從工作區刪除」或「找不到來源」。
- 對巢狀 SQL 儲存程序除錯之後,資料輸出視圖有時仍然顯示除錯器還在執行,這可能導致後來執行或部署儲存程序時發生問題。
暫行解決方法:在安裝開發人員產品的用戶端機器上必須執行階段作業管理程式。若要啟動階段作業管理程式,請從產品安裝的 bin 目錄中執行 db2dbgm.bat 檔案。
- 在 DB2 V8 Linux, Unix, Windows and z/OS 伺服器上對儲存程序除錯的支援有限。在安裝修正套件 14 的 DB2 V8 伺服器上,只能對 SQL 程序除錯。為了能夠在 DB2 V8 伺服器上使用除錯器,在安裝開發人員產品的用戶端機器上也必須執行階段作業管理程式。若要啟動階段作業管理程式,請從產品安裝的 bin 目錄中執行 db2dbgm.bat 檔案。
- 現在,來回工程期間支援 ALIAS、MQT、NICKNAME 及 SYNONYM,但在 EJB 對映程序中仍不支援。
- 對 MySQL 4.1 的支援受限:「內容」視圖無法正確顯示下列內容: 唯一的索引、自動增量直欄、直欄的 NULL 和二進位預設值。 此外也不支援 C 程序和函數。
- 觸發程序、核對限制及概略表不支援 Cloudscape® 5.1 版:「資料庫瀏覽器」中不會顯示 Cloudscape 5.1 版觸發程序和核對限制。在「內容」視圖中,SQL 主體沒有 Cloudscape 5.1 版概略表。您無法產生 DDL 或逆推 Cloudscape 5.1 版觸發程序、核對限制或概略表。
- 有限支援 Oracle 中由使用者定義的結構化資料類型:在產生 Oracle 表格的 DDL 時,使用者定義的結構化資料類型的名稱不會納入表格定義中。
- 為了比較資料庫瀏覽器儲存器中的物件而開啟的比較編輯器在關閉之後,在資料庫瀏覽器中重新整理儲存器物件可能失敗並導致這個異常狀況:「沒有寫入交易,無法修改資源集」。例如,比較實體資料模型中的表格與原始來源時,可能會導致這個異常狀況。
暫行解決方法:發生這種情形時,您可以選取含有儲存器物件的儲存器,再嘗試重新整理一次。比方說,如果重新整理表格失敗,請嘗試重新整理含有表格的綱目。如果重試仍然失敗,則必須中斷資料庫連線,再重新連接。
如果您定義的表格只含一個 XML 資料類型的直欄,或任何表格中含有非唯一的列, 則使用表格編輯器來刪除一列時,將刪除符合此列的所有列。
暫行解決方法:請勿使用表格資料編輯器在含有重複列的表格中刪除一列。