當試圖從「頁面資料」視圖中拖放至包含自由佈置表的頁面時,會出現 NOT 游標,不可能進行拖放。
如果要從「頁面資料」視圖中執行拖放,請先從選用區中選取「文字資料格」,之後,在自由佈置表中新增文字資料格。 之後,再從「頁面資料」視圖中拖放至這個文字資料格中。
當試圖部署利用驅動程式管理員連線來存取關聯式資料庫的 Web 應用程式(含 SDO 特性)時,不會將驅動程式 JAR 自動新增至伺服器的類別路徑中。 這會造成 ClassNotFound 錯誤。
目前,每當應用程式存取 Cloudscape、DB2、SQL Server 和 Oracle 等關聯式資料庫時,依預設,都會建立資料來源連線。 至於任何其他資料庫,尤其是 Informix 和 Sybase,便會建立驅動程式管理員連線,且會出現上述問題。
如果要使驅動程式管理員連線能夠運作,您必須將驅動程式 JAR 路徑手動新增至伺服器的類別路徑中。 如果要執行這個動作,請執行伺服器的管理主控台,在伺服器 -> 應用程式伺服器 -> <serverName> -> Java 和程序管理 -> 程序定義 -> Java 虛擬機器 -> 類別路徑之下新增類別路徑項目。
附註:6.0.0.1 版已修正這個問題。
產品目前不會產生各關聯式資料清單的更新方法。 以下是可放在動作中,以便更新 myList 資料清單內容的程式碼
try { getMyListMediator().applyChanges((DataObject)((ECoreEList)getMyList()).getEObject()); } catch (Throwable e) { logException(e); }
附註:6.0.0.1 版已修正這個問題。
如果您的 JDBC 伺服器是以任何非供應商預設值來執行,您必須在最初建立 SDO 執行時期連線時修改它。
附註:6.0.0.1 版已修正這個問題。
當一項 Web 專案將目標從 WAS 第 5 版伺服器重設為 WAS 第 6 版伺服器,有時不會刪除 WEB-INF/lib/wdo_web.jar。 它在 WAS 第 6 版伺服器上無效,在 Web 專案中重新產生用戶端物件時,它可能會造成問題(如果您遵循移轉手冊「移轉含 Faces 用戶端元件的 JavaServer Faces 資源」一節中的步驟)。
如果要避免這些問題,請從 lib 資料夾中刪除這個 JAR 檔。 刪除好之後,請開啟 Web 專案的 web.xml 檔,移除參照這個 JAR 檔的 taglib 標示。 您可以從 Web 部署描述子編輯器的「變數」或「程式碼」頁面中移除它。 這個 taglib 的 URI 是 http://www.ibm.com/websphere/wdo/core。 之後,請在「專案瀏覽器」視圖中選取 Web 專案,再從它的蹦現功能表中選取「內容」。 之後,請選取 Java 建置路徑,再從「程式庫」頁面中,移除所有 WDO_EMF_JARS_PATH/* 類別路徑項目。
附註:6.0.0.1 版已修正這個問題。
如果您利用關聯式記錄來建立 JSP 頁面,且這個關聯式記錄使用以 5.1 版伺服器為目標的「自動產生金鑰」,可能會出現下列錯誤:
2 cvc-complex-type.2.4.d: 找到起始於 'tables' 元素的無效內容。這時不預期有任何子項元素。
這個錯誤訊息無效,您可以忽略它。
附註:6.0.0.1 版已修正這個問題。
如果您正以預設鑑別(以登入使用者的身分執行)將 WebSphere Application Server 當作一項服務來執行,且試圖在 Web 應用程式內連接到 DB2,但沒有提供使用者名稱和密碼,可能會出現下列錯誤:
java.sql.SQLException: [IBM][CLI Driver] SQL0567N "SYSTEM" 不是有效的授權 ID。SQLSTATE=42602 DSRA0010E: SQL 狀態 = 42602,錯誤碼 = -567
如果要避免這個情況,請提供使用者 ID 和密碼給應用程式,或將 WAS 設成明確地(如提供使用者 ID 和密碼)以能夠存取您的 DB2 安裝架構的使用者帳戶來執行。
附註:6.0.0.1 版已修正這個問題。
如果您關閉變動過(未確定的變更)的 JSP,之後,在提示之下儲存了這個 JSP,便可能不會儲存 WDO/SDO 配置檔的未確定的變更。
如果要避免這個情況,請務必在配置了關聯式記錄或記錄清單之後,按 CRTL+S 鍵或按一下檔案 --> 儲存來儲存 JSP。
附註:6.0.0.1 版已修正這個問題。
這個問題發生在為了執行於 WebSphere 5.1 版伺服器而建立,但又移轉至執行於 WebSphere 6.0 版伺服器的 WDO 應用程式中。 在這個實務中,如果您的 Faces 頁面有一項記錄或一份記錄清單含有多個過濾器子句,當它在伺服器中執行時,頁面可能會擲出下列異常狀況:
java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.emf.ecore.impl.DynamicEObjectImpl.dynamicGet(DynamicEObjectImpl.java:192) at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleData.dynamicGet(EStructuralFeatureImpl.java:1758) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicGet(BasicEObjectImpl.java:485) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:476)e at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java(Compiled Code)) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.getValue(MapDataObjectImpl.java:197) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.put(MapDataObjectImpl.java:162) at pagecode.PageCodeBase.resolveParams(PageCodeBase.java:189)
問題在於調解者的參數物件。
如果要修正這個問題,您必須正確設定調解者的參數物件。 如果要執行這個動作,請修改您的 getList 或 getRecord 方法。
請將它從:
public DataListAccessBean getList1() { if (list1 == null) { try { resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }
改成:public DataListAccessBean getList1() { if (list1 == null) { try { getList1Mediator().setParams( new MapDataObjectImpl(((EObject) new MediatorImpl( (Metadata) getList1Mediator().getMetadata(), new NullConnectionWrapper()) .getParameterDataObject()).eClass())); resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }
請注意設定參數物件的程式碼片段。
附註:6.0.0.1 版已修正這個問題。
如果選取預設伺服器,在伺服器中執行期間,不會配置伺服器的資料來源。 如果要確保資料來源設定正確,請勿選取預設伺服器。 在應用程式順利發佈之後,只要您沒有變更資料來源,就可以選取預設伺服器。
附註:6.0.0.1 版已修正這個問題。
重新命名記錄/清單的綱目動作不會更新唯一索引鍵表格綱目名稱。
如果要暫時解決這個問題,請找出儲存記錄/清單之查詢的 XML 檔,再更新唯一索引鍵表格綱目名稱。
附註:6.0.0.1 版已修正這個問題。