IBM WebSphere Business Integration Adapter for JDBC 2.6.9 版注意事項

此文件包含下列各節:
加強功能及修正程式
新增及修改的連接器內容
新增、變更及修改的檔案
升級注意事項

此表格列出修正套件 2.6.9 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
190337需要支援 HP Integrity 平台上的 HP-UX
症狀:HP Integrity 平台上的 HP-UX 應該支援配接器
解決方案:提供支援
295501TimingStats 功能的加強功能
症狀:日誌檔中的 TimingStats 資訊不完整
解決方案:已將內容 BOInstanceTimingStats 新增至商業物件。BOInstanceTimingStats 內容的優先順序高於配置檔中的 TimingStats 內容。兩個內容都設定有效值時,配接器只會使用 BOInstanceTimingStats。
395505如何讓閒置代理程式連線的逾時
症狀:未使用的閒置連線太多
解決方案:已新增內容 IdleTimeAndCheckInterval,以清除閒置連線。它是整數配對:IdleTime 及 CheckInterval。定界字元是逗點。CheckInterval 可指定週期,以檢查 JDBC 連線儲存區中可用連線的閒置時間。IdleTime 則指定閒置時間上限。如果某個可用連線的閒置時間超出設定的 IdleTime 值,則配接器會關閉連線。JDBC 連線儲存區中的連線數目達到 MinimumDatabaseConnections 中指定的數目時,配接器不會關閉任何連線,即使部分連線已經閒置長時間也是一樣。
495525JDBC 連接器連線儲存區
症狀:重新設計 JDBC 連接器連線儲存區
解決方案:新增五個新的內容,讓您可以在 JDBC 連線儲存區中建立連線。 MaximumDatabaseConnections 內容指定 JDBC 連線儲存區所保留的連線數目上限。它是預設值為 5 的整數。 MinimumDatabaseConnections 內容指定應該保留在 JDBC 連線儲存區中的連線數目下限。它是預設值為 1 的整數。 MaxDBConnectionsInBatch 內容指定以批次模式同時建立的連線數目上限。它是整數。如果未指定此內容,則會停用建立批次連線的功能。 ThresholdOfCreatingConnectionsInBatch 內容指定開始建立批次連線的臨界值。它是預設值為 0 的整數。 UsingDriverConnect 內容是 boolean 類型。如果此內容為 true,則「WBI JDBC 配接卡」會使用 Driver.connect API 來建立資料庫連線。否則,會使用 DriverManager.getConnection 來建立資料庫連線。
修正程式
#CRAPAR標題詳細資料
190735JR27571JDBC 2.6.6.IF1 配接器會接收 JDBCEventmontior 異常
症狀:pollForEvent 在取得有效連線之前開始時,入埠作業失敗。
解決方案:已新增新內容 RetryConnCountAndInterval,以在提取事件之前測試連線。
295480JR28117配接器未將計時訊息寫入至日誌
症狀:使用 TimingStats 內容時,配接器未在日誌檔中寫入計時訊息,而是寫入至追蹤檔。
解決方案:透過此修正程式,配接器會在日誌檔中寫入計時訊息。
391600列印與 "BOInstanceTimeOut" 相關的錯誤訊息
症狀:列印與 BOInstanceTimeOut 相關的錯誤訊息。
解決方案:已在加強功能 95501 中修正此問題。
489811JR27130「JDBC 連接器」訊息 34043 未提供第二個參數
症狀:「JDBC 連接器」訊息 34043 未提供第二個參數。
解決方案:已針對訊息 34043 新增第二個參數。


此表格列出修正套件 2.6.8 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
189151WebSphere Business Integration Adapter for JDBC 商業物件實例層次逾時
症狀:「JDBC 配接器」不支援商業物件實例層次逾時。商業物件實例層次逾時表示可以將不同的逾時設定給不同的商業物件實例。
解決方案:配接器現在包括 BOInstanceTimeOut 內容 (商業物件實例逾時)。BOInstanceTimeOut 內容的優先順序高於 QueryTimeOut 內容。BOInstanceTimeOut 及 QueryTimeOut 都設定有效值時,配接器會使用 BOInstanceTimeOut。此外,BOInstanceTimeOut 涵蓋的範圍大於 QueryTimeOut。除了擷取作業之外,BOInstanceTimeOut 仍然涵蓋其他所有作業,甚至包括執行儲存程序。
修正程式
#CRAPAR標題詳細資料
189540JR27085只能對最後一個子項商業物件執行儲存程序。
症狀:呼叫 AfterretrieveSP 儲存程序時,配接器只會使用最後一個子物件的儲存程序來擷取資料;因此,只有最後一個子物件可以有正確資料。
解決方案:配接器可以對子項商業物件遞迴地執行 AfterretrieveSP 儲存程序,並使用每個子項商業物件來取得資料。
269922CloseDBConnection 設為 true,而 PreserveUIDSeq 設為 false 時,產生 NullPointerException 異常。
症狀:將 CloseDBConnection 設為 true,而將 PreserveUIDSeq 設為 false 時,會產生 NullPointerException 異常。配接器要花費 3 分鐘來關閉。
解決方案:已修正此問題。


此表格列出修正套件 2.6.7 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
169348支援 Redhat Linux 4 平台
症狀:Redhat Linux 4 平台應支援此配接器。
解決方案:現在已提供支援。
269137支援 Suse Linux 9 平台
症狀:Suse Linux 9 平台應支援此配接器。
解決方案:現在已提供支援。
修正程式
#CRAPAR標題詳細資料
188523JR26435事件的多重處理
症狀:當配接器擷取入埠作業的客戶資料時,配接器會清除連線儲存區的所有無效連線。在此處理期間,配接器會清除入埠連線的資源 (事件監視器)。因此,配接器無法在完成先前的擷取作業之後更新事件狀態,此時它會重新啟動。重新啟動之後,配接器會繼續處理未完成的事件。因此,相同的事件會處理兩次。
解決方案:清除無效的連線之後,配接器會起始新的事件監視器,以在新的輪詢連線上建立必要資源。於是,入埠作業可正常繼續進行。
287258JR25638Adapter for JDBC 2.6.5 版發生 Parseexception 異常狀況。
症狀:當屬性值是 "" (CxBlank) 且資料類型是 boolean、integer、float、double 或 date 時,會產生「無效屬性值」錯誤。發生此問題的原因是配接器根據其資料類型來剖析屬性值,而 "" (CxBlank) 是這些資料類型的無效值。
解決方案:如果屬性值是 "" (CxBlank) 且資料類型是 boolean、integer、float、double 或 date,則配接器會將屬性值轉換成空值,而不是產生「無效屬性值」錯誤。
387160JR25527當配接器突然停止輪詢時,繼續執行要求處理。
症狀:當配接器執行一段很長的時間之後,資料庫連線可能變成無效。如果連線無效,離埠作業會失敗,且配接器會清除所有無效連線。當配接器清除入埠連線上的資源 (事件監視器) 時,輪詢事件作業失敗。
解決方案:在清除無效連線之後,配接器會起始新的事件監視器,在入埠連線上建立必要的資源。然後,入埠作業會繼續正常進行。


此表格列出修正套件 2.6.6 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
這個修正套件沒有任何加強功能。
修正程式
#CRAPAR標題詳細資料
185008JR24342CxBlank 值解譯為 null。
症狀:如果索引鍵屬性的值是 CxBlank 且動詞是 Update 或 Retrieve,則在 WHERE 子句中 CxBlank 會解譯為 null。
解決方案:已新增 "BLANKFLAG" 應用程式特有資訊。如果在屬性應用程式特有資訊中設定 "BLANKFLAG=true",則 CxBlank 會在 WHERE 子句中解譯為 ""。
268865JR25076Create 及 Update 動詞會以不同的方式處理含有空值日期的 UNVL=NULL。
症狀:依「JDBC 配接器」文件,當屬性值是 CxIgnore (null) 時,"UNVL=NULL" 應用程式特有資訊應該會生效。但在「建立」(Create) 作業中,此應用程式特有資訊會在屬性值是 CxBlank ("")時生效,而這是不正確的。
解決方案:在「建立」作業中,"UNVL=NULL" 應用程式特有資訊會在屬性值是 CxIgnore 時生效。所以 Create 及 Update 動詞會有相同的行為,兩者都會與值為 CxIgnore 的 "UNVL=NULL" 應用程式特有資訊搭配使用。
385595JR24704在 JDBC 中執行儲存程序時,如果該儲存程序有整數輸入參數,則會顯示錯誤訊息。
症狀:執行儲存程序時,配接器會檢查輸入參數的值是否符合其資料類型。但因為驗證程式碼中的錯誤,當資料類型為 Integer 時,配接器會產生錯誤。
解決方案:已新增程式碼,所以會適當地檢查值的資料類型。
485363JR24549當 PingQuery 失敗時,配接器不會停止。
症狀:當配接器處理動詞設為 Update 的商業物件時,即使 PingQuery SQL 陳述式失敗,它也不會停止並重新啟動。
解決方案:當 PingQuery SQL 陳述式失敗時,配接器會將傳回狀態設為 -2,因此「配接器組織架構」會正確地停止並重新啟動配接器。
585144JR24427當屬性資料類型是 Integer、Float 及 Double 時,UNVL 不使用 Update 動詞。
症狀:當您在屬性中使用 UNVL、將 CxIgnore 設為此屬性的值,並且將動詞設為 Update 時,配接器會嘗試將 CxIgnore (null) 的值剖析為數字。結果會發生 NumberFormatException 異常狀況。
解決方案:發現使用 UNVL、屬性值是 CxIgnore 且動詞設為 Update 時,配接器不會剖析 CxIgnore。配接器使用應用程式特有資訊 UNVL 的值來繼續其運作。
684876JR24278當配接器產生剖析錯誤時,不會在錯誤訊息中併入屬性名稱。
症狀:如果配接器在剖析屬性時發生錯誤,不會在錯誤訊息中併入屬性名稱。
解決方案:錯誤訊息將併入屬性名稱,以協助問題判斷。


此表格列出修正套件 2.6.5 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
167678 需要更新配接器的 getVersion() 實作方式。
症狀:配接器版本應該從 Manifest 檔案實作,而不是從程式碼所設定的靜態變數實作。
解決方案:已更新。
283827需要 Solaris 10 平台的支援。
症狀:Solaris 10 平台應支援配接器。
解決方案:現在已提供支援。
383686應該移除 JDBC ODA 啟動 Script 中對資料直接驅動程式的參照。
症狀:必須從 JDBC ODA 的啟動 Script 中,移除類別路徑中的資料直接驅動程式 JAR 檔。
解決方案:已移除資料直接驅動程式參照。您必須將適當的 JDBC 驅動程式檔案新增至類別路徑。
修正程式
#CRAPAR標題詳細資料
167959有兩個地方錯用了追蹤訊息號碼 32016。
症狀:有兩個地方錯用了追蹤訊息 32016;32017 才是正確的追蹤訊息號碼。
解決方案:已將那兩個位置的追蹤訊息 32016 改成 32017。
267929傳回的類別 CWConnectorExceptionObject 實例之訊息不正確。
症狀:當配接器處理的服務要求因為異常狀況而失敗時,它會重試作業。如果第二次嘗試處理此服務要求又再度失敗時,所傳回的類別 CWConnectorExceptionObject 實例之訊息不正確。
解決方案:已修正此錯誤。現在二度失敗的訊息是正確的。
382879JR22976 配接器於執行 RetrieveSP 作業時,收到「無效 Ref-Cursor」錯誤。
症狀:嘗試使用儲存程序 (它透過游標傳回結果集) 從表格擷取商業物件時,配接器發生來自 Oracle 的「無效 Ref-Cursor」錯誤。
解決方案:已修正此錯誤。
474554JR22906發生 java.sql.SQLException 錯誤:SP 中的 CLOB 沒有足夠的記憶體。
症狀:配接器需要更多記憶體才能讀取和儲存 CLOB 類型資料。
解決方案:已修正此錯誤。配接器已針對 CLOB 類型資料而將其記憶體配置最佳化。
574241JR23258應用程式特有資訊 UNVL=NULL 不會正確運作。
症狀:當指定了應用程式特有資訊 UNVL=NULL 且這個屬性的值是 null 時,配接器會忽略這個屬性,因而無法依照預期在資料庫內將這個屬性的值更新為 null 值。
解決方案:已修正此錯誤。
674237JR22731 配接器會產生類似 "where ... xxx is null" 的 SQL 子句,因而導致 CLI0612E 異常狀況。
症狀:針對 RetrieveByContent 動詞,配接器在產生 SQL 查詢 'where ... is null' 時,會嘗試備妥陳述式中設定多餘的屬性值。
解決方案:已修正此錯誤。
774225JR22760Oracle 資料庫中的 NUMBER 欄位被 ODA 轉換為字串。
症狀:ODA 未在整數和小數位數之間使用必要的分隔符號。此外,算術運算子 +/- 之間也沒有任何空格。
解決方案:資料類型為 Decimal 的直欄長度都會延伸 2 位。
867361當 UID 表格中沒有記錄時,配接器會列印不正確的錯誤訊息。
症狀:當 UID 表格中沒有記錄時,配接器會列印錯誤訊息,指出資料庫連線發生問題。
解決方案:已修正此錯誤,且配接器現在可列印適當的錯誤訊息。
983714JR23663 配接器將不完整的商業物件寫入 Oracle 資料庫中。
症狀:如果配接器在交易期間收到關機訊息,它會執行連線關閉作業。但是對於 Oracle 資料庫而言,連線關閉作業要求要在執行關閉作業之前先執行確定作業,而不是回復作業。不然的話,交易可能會導致 Oracle 資料庫中的資料呈現不一致。
解決方案:收到關機訊息時,為了確保資料庫中的資料維持一致,配接器會明確地執行回復作業。
1083595JR23449配接器的 DB2(R) 序列支援有錯誤。
症狀:DB2 8.0 與以上的版本支援序列。因此,配接器支援 DB2 8.0 與以上版本的序列。然而,無法產生適用於 DB2 的正確 SQL 陳述式。
解決方案:已修正此錯誤,而且會產生適用於 DB2 序列的正確 SQL 陳述式。將使用正確的 SQL 陳述式,從 DB2 序列中取得配接器中的 UID 值。
1168092JR23653將應用程式特有資訊 PSC 設為 true 時,會產生 java.lang.ClassCastException 異常狀況。
症狀:將應用程式特有資訊 PSC 設為 true 並執行儲存程序時,配接器會產生 java.lang.ClassCastException 異常狀況。這是儲存程序的備妥陳述式快取的一項錯誤。
解決方案:先宣告儲存程序 SQL 子句的備妥陳述式。然後,將此備妥陳述式強制轉型成可呼叫的陳述式。


此表格列出修正套件 2.6.4 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
這個修正套件沒有任何加強功能。
修正程式
#CRAPAR標題詳細資料
173915修正套件程式碼行缺少程式碼。
症狀:將臨時修正程式的程式碼行中的程式碼合併到修正套件程式碼行時,刪掉了 JDBCDBManager 類別的一小段程式碼。
解決方案:已修正此問題。


此表格列出修正套件 2.6.3 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
170569應該移除配接器啟動 Script 中對資料直接驅動程式的參照。
症狀:必須從配接器的啟動 Script 中移除類別路徑中的資料直接驅動程式 JAR 檔。
解決方案:已移除資料直接驅動程式參照。您必須將適當的 JDBC 驅動程式檔案新增至類別路徑。
修正程式
#CRAPAR標題詳細資料
171314JR21597額外的 where 子句及 "is null" 支援
症狀:如果在額外的 where 子句中 (使用 Retrieve 動詞應用程式特有資訊) 有一個以上的屬性,則 "is null" 支援就無法運作。
解決方案:在動詞應用程式特有資訊中使用含多個屬性的正確查詢。
271139JR21480使用 "is null" 子句來擷取商業物件的事件索引鍵為空白值
症狀:當事件將某些索引鍵設為 null 時,配接器並沒有使用 "is null" 子句來產生 SQL 查詢。
解決方案:已修正在事件物件索引鍵中使用 CxBlank 的方法,而且配接器現在會在輪詢時適當地建立 "is null" 子句。
371391JR22459游標洩漏造成最大游標數超出設定的限制。
症狀:游標洩漏造成最大游標數超出設定的限制。
解決方案:從儲存程序呼叫傳回空的 ResultSet 時,會關閉 ResultSet。
472378JR22444在商業物件索引鍵中使用空白值,以使用 "is null" 子句進行擷取
症狀:當配接器處理收到的商業物件時,若某些索引鍵指派為 null,則配接器不會使用 "is null" 子句來產生查詢。
解決方案:已變更配接器,以便在索引鍵值中提供 CxBlank 值,讓配接器能正確地建置 "is null" 子句。
572988JR22446未依照正確順序來擷取在資料庫中執行的功能時所傳回的輸出參數。
症狀:使用不正確的索引值來擷取 String 類型的輸出參數。
解決方案:已修正此錯誤。
667474JR22154如果 CloseDBConnection 設為 true,則配接器會無限期地等待取得連線。
症狀:達到資料庫連線數目上限時,只有在釋放連線且執行緒收到通知時,執行緒才會結束 fetchConnection。如果 CloseDBConnection 設為 false,則會呼叫通知,但是當 CloseDBConnection 設為 true 時,則不會呼叫通知。
解決方案:已修正此錯誤。
767496JR22431配接器不容許對儲存程序的輸入參數插入超過 32k 的資料。
症狀:對於儲存程序中類型為 CLOB 的輸入參數,不執行任何特殊處理。
解決方案:已修正此錯誤。
845825JR22463Windows 的啟動 Script 包含額外的暫停陳述式。
症狀:在 Windows(R) 的啟動 Script 中,有兩個 pause 陳述式。
解決方案:已移除額外的陳述式。
961153JR21014當 UseDefaultsForPolling 設為 true 時,未針對子項商業物件執行 RetrieveSP。
症狀:如果 RetrieveSP 屬性的值設定為 CxBlank,且 UseDefaultsForPolling 設定為 true,則儲存程序的應用程式特有資訊擷取器就不會剖析儲存程序的應用程式特有資訊。這種情況發生在 UseDefaultsForPolling 設為 true 時。
解決方案:已修正此錯誤。
1066540 將 TimingStats 設為預設值時,配接器會記載錯誤。
症狀:範本檔案遺漏了 TimingStats 內容。
解決方案:已修正此錯誤。
1167621JR22378 配接器無法處理長度介於 4000 到 4096 之間的 CLOB 資料。
症狀:CLOB 資料大小的檢查不正確。
解決方案:已修正此錯誤。
1271729JR21809 JDBC ODA 2.6.2 版無法和「配接器組織架構」中的商業物件設計程式搭配使用。
症狀:未針對雙向 Script 啟用「配接器組織架構 2.4 版」。因為 JDBC ODA 2.6.2 版具有雙向啟用特性,所以它無法與配接器組織架構 2.4 版一起使用。
解決方案:已修改 JDBC ODA 以檢查「物件探索套件」中的雙向啟用,並適當地發出呼叫以確保舊版相容性。
1372255JR21999配接器未使用空的 CLOB 直欄擷取列。
症狀:當 CLOB 類型變數是 null 時,會產生 NullPointerException 異常狀況。
解決方案:現在配接器會對 null 值進行適當檢查。
1473153JR22462 使用 Progress 資料庫擷取 n 基數商業物件失敗。
症狀:如果對已關閉的 ResultSet 發出關閉作業,則 Progress 資料庫會產生異常狀況。
解決方案:已更正配接器,以確保只呼叫關閉作業一次。
1573466JR22458 看似已呼叫 RetrieveSP,但卻沒有傳回結果集。
症狀:在 RetrieveSP 儲存程序的輸出參數完全處理好之前就呼叫 AfterRetrieveSP 儲存程序。
解決方案:已修正此錯誤。
1673476JR22447 缺少對儲存程序中的 long int 資料類型的支援。
症狀:當配接器處理儲存程序的參數時,沒有使用 DriverSupportForLong 內容。
解決方案:已修正此錯誤。


此表格列出修正套件 2.6.2 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
這個修正套件沒有任何加強功能。
修正程式
#CRAPAR標題詳細資料
161712JR21196當 CloseDBConnections 的值為 true 時,配接器記憶體洩漏。
症狀:當 CloseDBConnections 的值設定為 true 時,配接器發生記憶體洩漏。
解決方案:執行檢查,查看 closeDBConnection 的值是否設為 true。如果此值是設為 false, 配接器就會建立連線的雜湊表項目,以供備妥的陳述式快取使用。
245017JR21320 複製屬性未將值延伸至子項商業物件。
症狀:若子項商業物件的屬性包含下列應用程式特有資訊值:PH=true:CA=..[ParentAttrName],便可將適當的值正確地複製到子項屬性。但整體作業會失敗。這是因為未適當處理 PH 應用程式特有資訊屬性。
解決方案:已修正此錯誤。
361625JR21339 進行遍訪時,配接器未傳回精確的錯誤。
症狀:如果在擷取時找不到非必要的所有權子項,連接器就會產生錯誤訊息。
解決方案:已修正此錯誤。
444568JR21317 使用儲存程序處理日期時,導致發生空值指標異常狀況。
症狀:使用儲存程序處理日期,導致發生空值指標異常狀況。
解決方案:已修正此錯誤。
566453JR21272 未使用以 archive_table_oracle.sql Script 建立的表格 xworlds_batch_events。
症狀:未使用以 archive_table_oracle.sql Script 所建立的表格 xworlds_batch_events。
解決方案:不再建立 xworlds_batch_events 表格,該表格已從 Script archive_table_oracle.sql 中移除。


此表格列出修正套件 2.6.1 版中的加強功能及修正程式。
加強功能
#CRAPAR標題詳細資料
這個修正套件沒有任何加強功能。
修正程式
#CRAPAR標題詳細資料
158941JR20679 計時統計 (Timing Stats) 未列印方法名稱。
症狀:方法名稱傳送至追蹤訊息的公用程式方法,但卻未併入追蹤訊息中。
解決方案:已修正此錯誤。
260212 子物件的外部索引鍵沒有輸入來自母項的新身分直欄值。
症狀:如果資料庫類型是 DB2(R),則在資料庫表格中產生身份值之後,不會從資料庫中擷取該值。
解決方案:已修正此錯誤。
344732 JDBC ODA 去掉商業物件屬性名稱中的底線 ('_') 字元。
症狀:JDBC ODA 去掉商業物件屬性名稱中的底線 ('_') 字元,因為它被視為特殊字元。
解決方案:現在已將底線字元併入成為商業物件屬性的一部分。


此表格列出新的連接器內容
#版本平台新增或移除內容 (請注意內容名稱要區分大小寫)
此版本的修正套件沒有建立或修改新的連接器內容。


此表格列出新增或變更的檔案
#版本平台新增或移除或取代檔案 (從 %INSTALLDIR% 目錄開始)
此版本的修正套件沒有建立或修改新的檔案。


升級注意事項
此版本的修正套件沒有特殊的升級注意事項指示。

若要查看已在這個修正套件中更新的檔案清單,請參閱檔案 'updatedFileList.txt'

2008 年 4 月 4 日下午 6:00
© 2008 IBM Corporation. Proprietary and Confidential. All Rights Reserved.