Teiid Springboot 启动文件数据源
Teiid Springboot starter file datasource
使用 Teiid Springboot 我想使用磁盘中的 xml 文件。我曾经使用旧的 EAP/Wildfly Teiid 项目,解决这个问题的方法是使用资源适配器,然后调用一个过程来读取数据。
使用 Springboot,我需要采取哪些步骤来创建可在我的 DDL VDB 中使用的 datasource/resource 适配器。
我已经看过下面的 FTP 示例,所以我的假设是创建一个 FileConnectionFactory:
https://github.com/teiid/teiid-spring-boot/tree/master/samples/ftp
但是,没有使用 DDL 文件,我的偏好是解析 DDL 中的 XML(除非有更好的方法在我的 DDL 中公开此数据)。
使用基于 DDL 的 VDB 时,您可以通过在 application.properties
中提供以下属性来定义 file-based 连接
spring.teiid.file.foo.parent-directory=path/to/myfile
其中foo
是你的文件资源名,需要在VDB中使用,例如:(accounts
是给schema的名字)
CREATE SERVER foo FOREIGN DATA WRAPPER file;
CREATE SCHEMA accounts SERVER foo;
然后在视图转换中,您可以使用上述模式并将文件读取为
create view something(...) AS
select x.* from
(exec accounts.getTextFiles()) f,
xmltable('/a' PASSING xmlparse(document f.file) COLUMNS first string, second integer) x
有关使用 xmltable
的更多详细信息,请参阅 http://teiid.github.io/teiid-documents/master/content/reference/r_xmltable.html
使用 Teiid Springboot 我想使用磁盘中的 xml 文件。我曾经使用旧的 EAP/Wildfly Teiid 项目,解决这个问题的方法是使用资源适配器,然后调用一个过程来读取数据。
使用 Springboot,我需要采取哪些步骤来创建可在我的 DDL VDB 中使用的 datasource/resource 适配器。 我已经看过下面的 FTP 示例,所以我的假设是创建一个 FileConnectionFactory: https://github.com/teiid/teiid-spring-boot/tree/master/samples/ftp 但是,没有使用 DDL 文件,我的偏好是解析 DDL 中的 XML(除非有更好的方法在我的 DDL 中公开此数据)。
使用基于 DDL 的 VDB 时,您可以通过在 application.properties
spring.teiid.file.foo.parent-directory=path/to/myfile
其中foo
是你的文件资源名,需要在VDB中使用,例如:(accounts
是给schema的名字)
CREATE SERVER foo FOREIGN DATA WRAPPER file;
CREATE SCHEMA accounts SERVER foo;
然后在视图转换中,您可以使用上述模式并将文件读取为
create view something(...) AS
select x.* from
(exec accounts.getTextFiles()) f,
xmltable('/a' PASSING xmlparse(document f.file) COLUMNS first string, second integer) x
有关使用 xmltable
的更多详细信息,请参阅 http://teiid.github.io/teiid-documents/master/content/reference/r_xmltable.html