2

我刚刚听说 Oracle 有一个名为 External Table 的功能,它允许从数据库访问平面文件(例如文件系统中的 CSV 文件)。

我只是想知道 DB2 for LUW 中是否有类似的东西。

我能看到的最接近的事情是实现一个 Table 函数(例如用 Java 编写),它将读取文件,并返回一个包含文件数据的表。但是,此过程需要很长时间(创建 Java 代码、编译 Java 并在 DB2 中创建关联 Java 类的函数),并且对于具有不同列数量的不同文件(表函数返回一组预定义的列)。

这里是 Oracle 外部表的文档:http: //docs.oracle.com/cd/B28359_01/server.111/b28319/et_concepts.htm

4

4 回答 4

1

是的,IBM 将其作为其 InfoSphere Federation Server 的一部分提供,它基本上允许您在数据库中为各种数据源定义昵称。 支持的数据源

于 2012-02-22T23:43:03.390 回答
1

IBM Db2 11.5 支持允许您执行此操作的外部表。

这以前仅由 Netezza 提供,并且此功能已用于 Db2。

请参阅CREATE EXTERNAL TABLE此处的手册页https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r_create_ext_table.html

于 2018-04-09T12:22:05.510 回答
0

如前所述,InfoSphere Federation Server 是一个不错的选择。DB2 UDB(通用数据库)有两种替代方案,它们在特定用例中可能会有所帮助:

  • DataLinks:它基本上是另一种数据类型,它保留对外部文件的引用。它还提供对外部数据的多个级别的控制,例如参照完整性、访问控制、协调备份和恢复以及事务一致性。
  • DB2 扩展器:它们扩展了 DB2 的功能以对特定的文件格式进行操作,例如 XML Extender 提供了一组特性来对 DB2 中的 XML 文件进行操作
于 2014-09-16T15:01:56.067 回答
0

还有:(a) 仓储引擎产品(Db2 Warehouse、Db2 Warehouse on Cloud)中的外部表支持(b)所有 Db2 产品中的数据虚拟化(也称为联合/流体查询),它们可以实现相同的目标。

于 2018-01-24T16:44:24.647 回答