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

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

我可以看到的最接近的事情是实现一个表函数(例如,用Java编写),例如,将读取该文件,并将表与文件中的数据返回。但是,此过程需要很长时间(创建Java代码,编译Java并在关联Java类的DB2中创建函数),并且实现不是具有不同数量列的不同文件的动态(表函数返回预定义的集合列)。

此处oracle外部表的文档: http://docs.oracle.com/cd/b28359_01/server.111/B28319/et_concepts.htm

有帮助吗?

解决方案

是的,IBM提供它作为InfoSphere联合服务器的一部分,基本上允许您将数据库内的昵称定义为各种数据源。支持的数据源

其他提示

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

  • dataLinks :它基本上是另一个数据类型 这会引用对您的外部文件。它还提供 几个级别的对外数据控制,如参考资料 完整性,访问控制,协调备份和恢复,以及 交易一致性。
  • db2扩展器:它们扩展了DB2的功能,以在特定文件格式上运行,例如,XML Extender提供了一组功能,可以在DB2 内的XML文件上运行

还有: (a)仓储发动机产品(DB2仓库,DB2仓库上的DB2仓库)(B)数据虚拟化(AKA联合/流体查询)中的所有DB2产品可以实现相同的东西。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top