DB2 Everyplace
 

DB2 Everyplace 8.1.4 版,版本注意事項

歡迎使用 DB2 Everyplace 8.1.4 版的版本注意事項。現在可以使用 8.1.4 版新的「DB2 Everyplace 資訊中心」 (位於 %DSYINSTDIR%\doc\lang\infocenter 目錄)。

這些版本注意事項包含關於 DB2 Everyplace 8.1.4 版的新特性、加強功能及已更新程序的資訊。


DB2 Everyplace 資料庫的新修正程式及特性

下節將從特性清單開始,其後則說明 DB2 Everyplace 資料庫的最新修正功能。

資料庫引擎的新特性

  • PocketPC 及 Windows 平台的 ADO.Net 支援
  • DB2 Everyplace 有兩個新的系統定義的純量函數,可讓您以 SQL 指令查詢各種資料。 這些新函數就是 LCASE() 及 UCASE()。
  • 現在您可以在同一個程序中,擁有連至不同資料庫的多個連線。
  • 自動增量 (身分直欄) 支援
  • 透過 CLI 逐件擷取大型資料
  • 支援 Symbian OS 第 7 版
  • 在 Symbian OS 第 6 版及第 7 版上的「遠端儲存程序」支援及其 JDBC 支援
  • 支援 Neutrino 及 Linux 平台上的其他處理器類型
  • 更多 JDBC 支援以及 JSR 169 相容性
  • 其他 CLI 支援包括:SQLColumns、SQLGetConnectAttr、SQLGetInfo、SQLGetStmtAttr、SQLNumParams、SQLSetConnectAttr、SQLSetStmtAttr 及 SQLTables。
  • 支援所有平台加密本端資料,包括 Neutrino、Linux、Symbian OS 6 及 OS 7。

資料庫引擎的修正程式

修正了 DB2 Everyplace 8.1 版 FixPak 1、FixPak 2 及 8.1.4 版的問題,附上 APAR 編號供您參考 (如果適用):

  • (APAR IC34759) 資料加密問題:
    • 如果應用程式在單一連線階段作業期間,存取的表格超過 8 個 (其中有一個是已加密的表格),DB2 Everyplace 就會失敗。
    • 對加密表格使用可捲動游標的 Select 查詢會失敗。
    • 對加密表格做 GROUPBY 查詢 (具有分組直欄) 會失敗。
    • 無法對具有索引之加密表格的直欄進行 Update 查詢。
  • (APAR IC34782) 當您使用具有參數記號 (直欄上有索引) 的 LIKE 述詞時 (例如 C1 LIKE ?),DB2 Everyplace 資料庫引擎會異常終止。索引結構可能會由於 Update 陳述式而損毀。 如果表格上有多個索引,且 SET 值並未變更橫列的原始值,就會失敗。 如果您變更直欄值,就不會發生此問題。
  • (APAR IC35328) 使用 DELETE 陳述式時,如果發生下列動作,則無法存取 DB2 Everyplace 引擎中的表格:
    • 執行實體刪除
    • 讀取邏輯上已刪除的記錄
    • DELETE 陳述式沒有 WHERE 子句
  • (APAR IC35106) 使用可捲動的游標重新執行已備妥的 SELECT 陳述式時,無法傳回任何橫列。
  • (APAR IC35043) 如果您在 Palm OS 上安裝了 PVCPKCS11.prc 檔案庫,且重複按 On/Off 按鈕, 則裝置最終會顯示系統警示並要求重設。
  • (APAR IC35585) 在直欄上建立索引且其編號為以下任何一組時,如果執行更新及刪除作業, 則會發生 Palm OS 索引損毀,錯誤訊息為 SQLSTATE=58004:17-32、48-64、80-96、112-128、144-160、176-192、208-226、240-256。
  • (ARAR IC35710) 使用 db2ecli.bas 檔案為 Pocket PC 平台建立 DB2 Everyplace Visual Basic 應用程式時, 如果在 Pocket PC 2002 模擬程式上執行應用程式,應用程式就會當掉。
  • (APAR IC35966) Palm 上的遠端儲存程序呼叫問題。使用包含 SQL_PARAM_OUTPUT 的 SQLBindParameter, 並取得 ResultSet 時,會發生嚴重錯誤。
  • (APAR IC36026) 執行具有聚集函數 (無 GROUPBY 子句) 之 SELECT 查詢的已備妥陳述式時,會傳回不正確的回答。
  • (APAR IC36027) 搜尋橫列時,如果使用了 TIMESTAMP 直欄上的索引, 則已搜尋的 DELETE (包含 WHERE 子句) 無法移除所有符合條件的橫列。
  • (APAR IC36083) 如果您在直欄數目大於或等於 128 的直欄上,建立索引或主要鍵, 則 CREATE TABLE 及 CREATE INDEX 陳述式會導致失敗。
  • (APAR IC36069) 如果在超過 256 的直欄位置上建立索引,則可能會發生資料損毀或傳回 SQLSTATE 58004。此修正程式也可防止建立超過 256 個直欄的表格。
  • (APAR IC36070) 針對具有變數大小 (例如 VARCHAR 或 BLOB) 的表格執行的 REORG 陳述式, 會導致資料檔案無預警地損毀或應用程式失敗。 當記錄大小由於執行 UPDATE 陳述式而增加時,最容易發生此問題。
  • (APAR IC36256) 無法以 Microsoft eMbedded Visual C++ 3.0 順利建置 DB2 Everyplace 範例應用程式。
  • (APAR IC36270) 因為 DB2 Everyplace 無法選擇可用的索引,所以未將部份 ORDER BY 查詢最佳化。
  • (APAR IC37280) 當應用程式嘗試連接到包含空白 DB2eSYSUSERS 表格的資料庫時,DB2 Everyplace 資料庫引擎會異常終止。 當應用程式嘗試建立資料庫連線,並在建立第一個使用者 ID 之後立即提供錯誤的密碼時,也會出現相同的結果。
  • (APAR IC36430) 當 SELECT 項目數超過 GROUP BY 項目數時,DB2 Everyplace 可能會在執行 GROUP BY 查詢時異常終止。
  • (APAR IC36695) 嘗試連線到加密資料庫會造成 DB2 Everyplace 資料庫引擎異常終止。
  • (APAR IC36570) 嘗試存取儲存在 PalmOS 裝置外部媒體 (例如 SD 記憶卡、CompactFlash 記憶卡及 IBM Microdrive) 上的資料庫時, DB2 Everyplace 資料庫引擎會傳回 SQLState 57011 或 58004。
  • (APAR IC36688) 在結合兩個表格時,如果其中有一個結合條件牽涉到包含空字串的 VARCHAR 直欄 (索引會被用來提取資料時) 時, DB2 Everyplace 資料庫引擎會傳回 SQLState 58004。
  • (APAR IC36702) DB2 Everyplace 無法比對述詞 "LIKE '%'" 與空字串。
  • (APAR IC37281) 匯入以引號結尾的 VARCHAR/CHAR 直欄時,DB2 Everyplace SampleCLP 可能會傳回錯誤或無效資料。
  • (APAR IC37045) 當應用程式將兩個十進位數插入到主要鍵 (其值略為不同) 中時,DB2 Everyplace 無法傳回 SQL 狀態 23505。 DB2 Everyplace 會錯誤地將其接受成相同值。
  • (APAR IC37046) DB2 Everyplace 會傳回字串 concat '¶llel.' 運算子的語法錯誤。
  • (APAR IC37048) 在執行 Palm 中文 OS 的 Acer S60 裝置上,DB2 Everyplace 無法接受繁體中文字元。
  • (APAR IC37329) 執行使用主要鍵索引 (且後面接著使用 Dirty 位元索引的 DELETE SQL 陳述式) 的 UPDATE SQL 陳述式時, DB2 Everyplace 資料庫引擎的後續查詢將傳回不正確的結果。

DB2 Everyplace Sync Client 的新修正程式及特性

下節將從特性清單開始,其後則說明 DB2 Everyplace Sync Client 的最新修正功能。

DB2 Everyplace Sync Client 的新特性

  • IBM Sync 的新 GUI 利用了下列新特性,且更為人性化:
    • 每個定期抄寫的從屬站都有可配置的目標目錄
    • 根據網路速度而定的可配置 Sync Client 訊息大小
    • 伺服器 Proxy 支援
    • 可配置的 Servlet 路徑
  • 使用新的 DB2 Everyplace Cloudscape Sync Client 來同步化資料
  • 使用 DB2 Everyplace ISync.NET 提供者的 .NET 同步化支援
  • 可以在所有從屬站平台上配置的逾時值
  • SSL 支援:
    • 僅限 WebSphere Everyplace Access 4.3 版環境:Palm OS、Win32 及 WinCE (僅限 Pocket PC 2002) 與 Linux 的 SSL 支援。

      若要在 IBM Sync 中使用 SSL:請在 IBM Sync GUI 的「伺服器」設定畫面中, 指定伺服器 URL (一致資源定址器) 中的 HTTPS 通訊協定。 如果配置的 SSL 埠不是預設值 (443),則亦請提供 SSL 埠。若要針對 SSL 配置 Sync Server, 請參閱適當的 WebSphere Everyplace Access 文件。

      開發使用 SSL 的應用程式:建立了新的 Sync Client C-API (iscServiceOpenEx),以開發支援 SSL 的應用程式。

  • 新支援的從屬站裝置:
    • Symbian 7 (Sony Ericsson P800)
    • Linux (Sharp Zaurus SL 5500 及 SL 5600)
    • Palm OS 5.0 版
  • 支援 Power PC 及 Strong ARM 及 XScale 處理器上的 Linux 作業系統 (僅限 DB2 Everyplace 的 SDK Edition)
  • 通常可從 IBM Sync 應用程式使用目標目錄 (次要儲存體),且可在「從屬站設定值」畫面中指定。
  • Sync Client API for Java

    現在 Java 應用程式開發人員可以使用 Sync Client Java API (isync4j 套裝軟體), 來執行資料同步化處理作業。 原始同步化處理廠商有兩家。 其中一家是利用 JNI 呼叫原始 Sync Client 檔案庫,來執行同步化處理作業。 另一家則只用於 J9 VM for PalmOS。 其他詳細資訊,請參閱 DB2 Everyplace Application Development Guide 及 isync4j Javadoc。

  • Sync Client API for C

    IBM Sync Client API 已經改變,它將提供更清楚、更有彈性的新功能。 IBM Sync Client API 7.2.1 版仍然可以用 API 外層加以存取,但是新功能只能用新的 API 存取。

  • MIDP 裝置的同步化處理作業

    此特性現在只內含於 DB2 Everyplace SDK Edition。可建立新的 J2ME MIDP Sync Client,來支援建置 J2ME MIDP 的應用程式, 這些應用程式可以將定期抄寫與 MIDP 檔案系統同步,供應用程式使用。 採用 J2ME MIDP 記錄管理系統,而不用 DB2 Everyplace,它不能在 J2ME MIDP 上執行。

DB2 Everyplace Sync Client 的修正程式

修正了 DB2 Everyplace 8.1 版 FixPak 1、FixPak 2 及 8.1.4 版的問題,附上 APAR 編號供您參考 (如果適用):

  • (APAR IC35552) 在 Palm OS 上使用本端加密搭配 Java Sync API,實務範例如下:

    1. 同步化。
    2. 輸入使用者 ID 及密碼,就可順利完成同步化。
    3. 嘗試查詢表格並接收錯誤訊息 SQLSTATE42501「不允許授權 ID 在已識別的物件上執行指定的作業」。
  • (APAR IC35910) 在 WinCE 安裝 CAB 檔案中,找不到 Java Sync API (isync4j.jar) 及代理程式 Proxy (dsyagent.dll) 檔案。
  • (APAR IC35980) Sync Client 的異常行為是從屬站傳回「順利結束同步化」,但並未實際同步化使用者定期抄寫。
  • (APAR IC36166) 當您嘗試同步化 Pocket PC 及 Sprint Wireless PCMCIA 記憶卡時,收到下列 Sync Client 錯誤「dsyc699e 不明的網路錯誤」。Verizon Wireless 記憶卡不會發生此問題。
  • (APAR IC36206) Palm 鑑別程序期間的問題。 如果輸入錯誤的使用者密碼達 3 次,或是在「DB2e 鑑別」視窗中按「取消」按鈕,IBM Sync 就會適當地停止運作。 後續的同步化嘗試將會失敗,錯誤為「DSYC698I:內部 SQLstate 錯誤」。
  • (APAR IC36408) 在 WinCE 裝置上使用 IBM Sync 的繁體中文版本時, 詳細定期抄寫資訊畫面與用來輸入加密表格之使用者 ID 及密碼的畫面上,都會出現毀損的字元。 只有在使用者介面才會看到此問題,但不會影響同步化。
  • (APAR IC36410) 在 Palm 裝置上,IBM Sync 程式的德文版本會在同步化期間發生嚴重錯誤, 畫面上會顯示具有訊息 "Fatal exception" 的警示視窗,要求系統重設。只有德文版本才會發生此問題。
  • (APAR IC36413) 同步化之後,如果從「行動裝置管理中心」移除定期抄寫,從屬站就無法在後續同步化過程中更新配置。 從屬站仍會嘗試同步化這些即將移除的定期抄寫。
  • (APAR IC36412) 在 Palm 裝置上使用 Java 範例程式 (ISyncSample) 時,表格同步化會造成裝置異常終止。 在 Palm 模擬程式上,會顯示堆疊溢位異常狀況。
  • (APAR IC36574) 同步化表格 (其主要鍵是由所有直欄所組成) 時, 如果您先取消同步化,然後再次進行同步化,則 Sync Client 可能會報告 SQLstate 23505。
  • (APAR IC36685) 當 Sync Client 同步化檔案定期抄寫時,如果失敗, 則除非在 MDAC 上重設檔案定期抄寫 (或使用者),否則再次同步化時,它都不會嘗試同步化檔案定期抄寫。
  • (APAR IC26366) 根據 API 的現行規格,DB2 Everyplace 的資料庫密碼長度限制為 18 個字元,而 Sync Client 也會配置 18 個字元的儲存體,讓應用程式傳遞密碼。 因此,如果應用程式的密碼超過 18 個字元而導致預先配置的儲存體溢位,Sync Client 就會異常終止。此限制適用於所有平台。
  • (APAR IC37573) 當您使用 Sync Client API 為 Palm OS 開發 Sync Client 應用程式時,就會發生此問題。 從屬站可呼叫 DB2 Everyplace Sync Client API 函數 (iscEngineSync 或 iscEngineSyncConfig), 以在開始同步化時建立 (或撥號) RAS 連線,然後在完成同步化時關閉連線。 因此,如果連續呼叫這兩個 API 函數,您就會看到 Sync Client 數次建立 (及重新建立) RAS 連線。
  • (APAR IC37580) 透過無線電話從 Handspring Treo 裝置進行同步化時,Sync Client 會回報錯誤 (連線失敗)。

Software Development Kit (SDK) 元件

下節說明 DB2 Everyplace SDK Edition 提供的元件。

SDK 是用來開發 DB2 Everyplace 應用程式的評估授權 DB2 Everyplace 資料庫、「行動應用程式建置器」、 其他 DB2 Everyplace 開發工具及技術,以及文件的資料包。

  • DB2 Everyplace 行動應用程式建置器 (MAB)

    請參閱 MAB 8.1.4 提供的版本注意事項,以取得 8.1.4 版的 MAB 修正程式及特性的詳細資訊。

    「行動應用程式建置器 (MAB)」是一種快速的應用程式開發 (RAD) 工具,可讓您產生複雜的關聯式 DB2 Everyplace 資料庫應用程式,而不需程式設計技術或特定的目標裝置屬性知識。 MAB 會產生 Thick Client 應用程式,它們是由容許邏輯複雜性及可用性的程式設計語言所產生, 而非使用無線標記語言的應用程式。 通常,應用程式可與非經常性連線或同步化搭配使用,而警告性資料則以本端方式常駐於裝置上。 MAB 會針對使用 PalmOS 的行動裝置產生 C 語言程式碼,並為支援 Java(TM) Virtual Machine 的裝置產生 Java 程式碼, 這些裝置包括以 WinCE/PocketPC (如 Compaq iPAQ StrongARM 裝置)、Symbian OS V6 (如 Nokia Communicator 92XX 系列)、 Symbian OS V7 (如 Sony Ericsson P800)、及 Embedded Linux (如 Sharp Zaurus 5500/5600) 為基礎的裝置。

  • IBM Websphere Studio Device Developer (WSDD) 的 DB2 Everyplace Plugin 及其他 Eclipse 型開發工具

    Websphere Studio 的 IBM DB2 Everyplace Plugin 可讓開發人員建立使用 DB2 Everyplace 關聯式資料庫及同步化技術的複雜 Java J2ME 應用程式。

    Plugin 可支援這些目標裝置平台 (受 WSDD 支援),而目標 J2ME 支援裝置也由 DB2 Everyplace 資料庫支援。Plugin 擴充了對於開發供裝置之用的應用程式的支援,而這些裝置是以 PalmOS 及 PocketPC 平台為基礎, 包括 IBM J9 Java Virtual Machine 執行時期封裝。

    雖然 Plugin 設計的目的是用於任何 Eclipse 型「整合開發環境」工具,但是用於 WSDD 時,它也具有特別有用的功能。

    Plugin 1.0.1 版包括在此 SDK 中。如果您使用 WSDD 5.0, 請使用 DB2 Everyplace Plugin 1.0.0 版。DB2 Everyplace Plugin 1.0.0 版可從 WSDD 網站下載。在下載頁面上, 選擇 5.0 及相關下載程式,以取得正確的 DB2 Everyplace WSDD Plugin。如果您使用 WSDD 5.5, 請使用 DB2 Everyplace Plugin 1.0.1 版。

  • AppForge MobileVB(TM) 的 DB2 Everyplace Plugin

    在此 Plugin 中,Microsoft Visual Basic 開發人員可以設計使用 AppForge 的 MobileVB(TM) 來設計 DB2 Everyplace 應用程式。 使用 MobileVB 的 Visual Basic 程式設計師,現在可以輕鬆地開發使用 DB2 Everyplace 關聯式資料庫及同步化技術的行動裝置應用程式。 受支援的行動平台就是以 PalmOS、Nokia 9200 Communicator (SymbianOS) 或 WinCE/PocketPC 型裝置為基礎的裝置。

    8.1.2 版的修正程式:在使用 AppForge MobileVB(TM) 的 DB2 Everyplace Plugin 8.1 版所開發的 WinCE 應用程式中, 同步化會失敗。8.1.2 版已修正此問題。

  • 使用 Java Server Pages (JSP) 的應用程式開發

    包括用來使用以資料庫驅動之 JSP 頁面 (利用 WebSphere Studio Java Bean 建置) 的 JSP 工具。WebSphere Studio JSP 頁面會由小型工具剖析, 然後就可以在行動裝置上瀏覽頁面,其資料則是由未連接之環境中的本端 DB2 Everyplace 資料庫所提供。

    8.1.2 版的新特性:

    • Symbian OS 第 6 版的新 JSP 支援。 支援使用 WebSphere Studio Application Developer 5.0 版開發的 DB2 Everyplace JSP 應用程式。

    8.1.4 版的新特性:

    • 支援使用 WebSphere Studio Application Developer 5.0 版開發的 DB2 Everyplace JSP 應用程式。
  • Pocket PC、 Palm (68 K) 及 Linux (Monta Vista) 裝置平台的 IBM J9 Java(TM) Virtual Machine 執行時期

    請參閱 \SDK\J9 目錄中的 ReadMe 以取得詳細資訊。

  • 其他應用程式開發文件

    包括了其他出版品及白皮書,協助您使用 DB2 Everyplace 及開發應用程式。

    • \Samples 目錄包括了其他 DB2 Everyplace 元件未包括的其他 DB2 Everyplace 範例應用程式。
    • \Tutorials 目錄包括了使用 DB2 Everyplace 的逐步教學指導。

已知注意事項及限制

本節包含適用於此版 DB2 Everyplace 之已知注意事項及限制的清單:

  • DB2 Everyplace 從屬站資料庫的使用者,在 UPDATE、INSERT 或 DELETE 陳述式的自動確定模式中, 可能會覺得執行效能變慢。此問題的暫行解決方法就是在單一確定作業中,明確地使用手動交易並替多重變更分組。
  • 若為資料庫引擎上的 Ado.NET:
    • 使用遠端儲存程序呼叫的結果集擷取,其結果集大小仍受限制。新版本將會移除此限制。
    • 若為不支援的方法或內容,則會丟出 "System.NotSupportedException"。
  • 將 Sync Client 與多重目標資料庫同步化時,如果有多個資料庫包含加密表格,則不支援本端資料庫加密。
  • Cloudscape 從屬站並未支援 DB2 Everyplace 從屬站所支援的所有特性。例如,不支援多重伺服器、 定期抄寫設定/定期抄寫/表格的排序,以及本端資料加密。
  • 「結合過濾」特性不支援多重表格參照。 如果使用者 WHERE 子句包含多重表格參照,則會停用該 WHERE 子句的「結合過濾」特性,並記錄警告 DSYD029W。 WHERE 子句會在沒有「結合過濾」特性的情況下繼續運作。
  • DataPropagator「表格定期抄寫」不支援「參照整合性」。
  • 若為 DataPropagator「表格定期抄寫」,則抄寫一律必須在鏡映資料庫伺服器上執行。 這表示,如果管理動作期間必須執行抄寫,則「行動裝置管理中心」必須在鏡映資料庫伺服器上執行。
  • 不支援必須以雙引號含括的資料庫物件名稱。
  • 表格中的橫列大小上限通常是由資料來源所限制。將表格新增到 JDBC 定期抄寫將更加限制橫列大小上限。 橫列大小上限的其它限制約為 125 個位元組。
  • 表格中的橫列大小上限通常是由資料來源所限制。將表格新增到 JDBC 定期抄寫將更加限制橫列大小上限。 橫列大小上限的其它限制約為 2KB。

商標

下列術語是 IBM 公司在美國及 (或) 其它國家的商標。
AIX
DB2
DB2 Universal Database
IBM

Microsoft、Windows、Windows NT 以及 Windows 商標是 Microsoft Corporation 在美國及 (或) 其它國家的註冊商標。

其它公司、產品或服務名稱可能是其它公司的商標或服務標誌。