DB2外部表?

时间:2012-02-22 19:52:18

标签: db2 flat-file db2-luw

我刚才听说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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

  • DataLinks :它基本上是另一种数据类型 保持对外部文件的引用。它还提供 对外部数据的几个级别的控制,如参考 完整性,访问控制,协调备份和恢复,以及 交易一致性。
  • DB2 Extenders :它们扩展了DB2的功能,以便对特定的文件格式进行操作,例如: XML Extender提供了一组功能来操作DB2内的XML文件

答案 2 :(得分:0)

还有: (a)仓储引擎产品中的外部表支持(Db2仓库,Db2仓库云)(b)所有Db2产品中的数据虚拟化(即联邦/流体查询)可能实现相同的目的。

答案 3 :(得分:0)

IBM Db2数据库现在支持允许您执行此操作的外部表。这是以前仅由Netezza提供的,此功能已经进入Db2。