我们在 Temenos T24 银行系统中使用 Oracle 数据库有一个 Masking Data 项目。
直到现在我们还没有开始读取数据。我们被告知 Temenos T24 将数据作为 XML 列存储在数据库中。这些信息是否正确?
如果运行时是 TAFJ,T24 可以使用 TAFC 或 JDBC 的 Direct Connect 驱动程序将数据存储在许多数据库(Oracle、DB2、MS SQL Server、H2)中。您可以使用 Oracle 的“DESCRIBE”语句查看数据结构。
SQL> DESCRIBE F_SPF;
Name Null? Type
-------------------- ---------- ----------------------------
RECID NOT NULL VARCHAR2(255)
XMLRECORD SYS.XMLTYPE
SQL>
表可以作为 XML 或 BLOB/CLOB 存储在 T24 的同一数据库中。这由 TAFJ_VOC 文件在 T24 级别上进行管理:
SQL> SELECT RECID, ORCLFILENAME, ISBLOB FROM TAFJ_VOC WHERE ORCLFILENAME LIKE '%EB_DPT%';
RECID ORCLFILENAME ISBLOB
--------------------- --------------------- -------
F.EB.DPT.COUNTRY F_EB_DPT_COUNTRY X
F.EB.DPT.COUNTRY$NAU F_EB_DPT_COUNTR000 C
F.EB.DPT.COUNTRY$HIS F_EB_DPT_COUNTR001 C
SQL>
从上面的截图可以看到,T24表名存储在RECID列,Oracle表名存储在ORCLFILENAME列,表的XMLRECORD列类型在ISBLOB列中表示:X表示XMLTYPE,C表示CLOB。
这可以通过更改表和更新 TAFJ_VOC 来更改。
以上截图适用于 TAFJ R18 版本。
T24 将数据存储为 XML,每个表有 2 列
T24 是旗舰 Temenos 软件,根据实施情况以多种方式存储数据。
T24 中基本上有 2 大类数据存储:
数据的存储方式:
对于 JBase,文件存储在二进制文件中,最有效的查询方法是使用 Temenos Application Framework for C (TAFC) 编写 JBase 例程。或者,您可以使用 jdbc(如果您可以使其工作)并使用普通 SQL 脚本查询数据库。
对于 RDBMS,数据存储在 2 列中,如上所述:RECID 和 XMLRECORD。可以使一些更大的表使用 CLOB 而不是 XMLRECORD。
值得庆幸的是,Temenos 创建了从长 XMLRECORD 字段中提取字段的表的默认视图。如果我是你,我会使用这些字段来读取数据。您还可以使用正在查询的数据库支持的 xml 函数编写自己的查询。对于 Oracle,我依赖extractvalue()
.
@Māris Rubenis 在上面提供了一个很好的示例。正如他所提到的,您可以通过查询 VOC 表来获得映射。