我们在带有Oracle数据库的Temenos T24银行系统中有一个Masking Data项目。
到目前为止,我们还没有开始阅读数据。我们被告知,Temenos T24将数据存储为数据库中的XML列。这些信息是否正确?
T24将数据存储为XML,每个表有2列
如果运行时为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是旗舰Temenos软件,它根据实施方式以多种方式存储数据。
T24中基本上有两大类数据存储:
如何存储数据:
对于JBase,文件存储在二进制文件中,并且是通过使用Temenos Application Framework for C(TAFC)编写JBase例程来查询它的最有效方法。您可以选择使用jdbc(如果可以使其工作)并使用普通的SQL脚本查询数据库。
对于RDBMS,数据存储在2列中,如上所述:RECID和XMLRECORD。可以使用一些较大的表来使用CLOB而不是XMLRECORD。
值得庆幸的是,Temenos创建了表的默认视图,这些视图从长XMLRECORD字段中提取字段。如果我是你,我会通过使用这些字段来读取数据。您还可以使用您要查询的数据库支持的xml函数编写自己的查询。对于Oracle,我依靠extractvalue()
。
@MārisRubenis提供了一个很好的样本。正如他所提到的,您可以通过查询VOC表来获得映射。