IBM InfoSphere Federation Server V9.7 帶來重大增強,涵蓋數據類型兼容性、JDBC Wrapper 引入、Oracle 聯邦存儲過程多結果集支持、以及 SQL 功能擴展,大幅提升異構數據集成的靈活性與性能。
V9.7 內建支持 DECFLOAT(十進制浮點數),建立遠程 DECFLOAT 與本地聯邦數據庫的類型映射,實現透明訪問。基於此,進一步支持 Oracle 風格的 NUMBER 類型:
DB2_COMPATIBILITY_VECTOR=10 啟用 NUMBER 兼容性。NUMBER_COMPAT(Y/N,默認 N)指示遠程數據源兼容性。
VARCHAR2 作為 VARCHAR 同義詞引入,語義與 Oracle 一致:空字符串視為 NULL,標量函數返回零長度 CHAR/VARCHAR 視為 NULL。
DB2_COMPATIBILITY_VECTOR=20 啟用。VARCHAR2_COMPAT 指示遠程兼容性,NO_EMPTY_STRING 指示遠程列是否含空串,輔助 PUSHDOWN 分析。
TIMESTAMP(p) 參數化類型(p=0..12,默認 6)全面支持,實現不同精度遠程/本地 TIMESTAMP 靈活映射,自動填充/截斷。進而支持 DATE 兼容模式:內部用 TIMESTAMP(0) 表示 DATE。
DB2_COMPATIBILITY_VECTOR=40)。DATE_COMPAT(Y/N)指示遠程兼容性。
繼承 DB2 V9.7 弱類型特性,聯邦數據庫自動處理查詢中隱式轉換並進行 PUSHDOWN 分析;新增 number↔string、date↔timestamp 等轉換;為 UDB 數據源添加更多 CAST 遠程默認函數映射,提升遠程執行比例與性能。
針對 Teradata CLOB/BLOB:
當前限制:不支持通過昵稱對遠程 LOB 列進行 I/U/D;Passthru 模式下不可查詢遠程 LOB 列。

針對無 ODBC 驅動或需兩階段提交等新特性的數據庫(如 Cloudscape/Derby、Universal Data),提供 JDBC Wrapper:
配置步驟:
CREATE WRAPPER jdbc;(自動定位默認庫)或指定庫 CREATE WRAPPER jdbc_wrapper1 LIBRARY 'libdb2rcjdbc.a';(庫名隨平台不同)。driver_class(必填)、url(必填)、driver_package(可選)、jdbc_log(可選)。CREATE SERVER jdbc_server_cs1 TYPE JDBC VERSION 3.0 WRAPPER jdbc_wrapper1 OPTIONS (
DRIVER_CLASS 'org.apache.derby.jdbc.ClientDriver',
URL 'jdbc:derby://iiregr01.cn.ibm.com:1527/testdb9;create=true;',
DRIVER_PACKAGE '/wsdb/v10/bldsupp/ALL/jdbc_driver/derbyclient.jar',
JDBC_LOG 'Y');
增強聯邦存儲過程能力,可獲取遠程 Oracle 存儲過程的所有輸出(參數、返回值、多結果集)。新增 WITH RETURN TO CLIENT (...) 子句指定結果集返回客戶端或調用端,支持交叉訪問(任意順序訪問多結果集)。

限制:目前僅支持 Oracle 來源;遠程定義變更需 DROP 再 CREATE 或使用 CREATE OR REPLACE;暫不支持 ALTER PROCEDURE 修改聯邦定義。
新增自動化工具 db2fedgentf,將存儲過程返回的結果集映射為表函數,隨後可進行標準 SQL 連接操作。工具亦可刪除指定表函數。
工作原理示例:遠程 DB2 存儲過程 INVENTORY → 本地聯邦存儲過程 FS_INVENTORY → db2fedgentf 生成表函數 → 與本地表 NOTEBOOK 連接查詢供應商電話。
