You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用OMCS上的ODI 12C连接AWS上的Mongo DB并提取数据?

刚好之前帮团队搞定过ODI 12C连接AWS MongoDB的需求,给你梳理下完整步骤,大部分场景下完全不用写自定义代码,除非你有特别复杂的定制化需求。

前提准备
  • 先搞定驱动:ODI是通过JDBC连接MongoDB的,所以需要把MongoDB官方的JDBC驱动包(比如mongodb-driver-sync或者对应的JDBC适配包)放到ODI的两个lib目录里:<ODI_HOME>/oracledi/agent/lib和<ODI_HOME>/oracledi/client/lib,放完之后重启ODI客户端和代理,不然驱动加载不出来。
  • 网络权限要打通:确保AWS上的MongoDB实例的安全组允许OMCS上的ODI服务器访问,开放MongoDB的默认端口27017(如果是自定义端口就开对应的),同时把ODI服务器的IP加到MongoDB的IP白名单里,还要确认MongoDB的用户名密码有对应数据库的读取权限。
具体配置步骤

1. 创建MongoDB数据服务器

打开ODI Studio,切换到Topology视图:

  • 展开Physical Architecture -> Technologies,找到MongoDB(如果没看到,检查下ODI是否启用了MongoDB技术,一般默认是支持的)
  • 右键点击MongoDB,选New Data Server:
    • 名称随便起,比如AWS_MongoDB_Prod
    • 切换到JDBC标签页,填写JDBC URL:如果是MongoDB Atlas集群,用mongodb+srv://<用户名>:<密码>@<集群端点>/<目标数据库名>?retryWrites=true&w=majority;如果是单实例,用mongodb://<用户名>:<密码>@<实例IP>:<端口>/<目标数据库名>
    • 填入MongoDB的认证用户名和密码
    • 点击Test Connection,能连上就说明没问题,保存。

2. 创建物理架构

在刚才创建的数据服务器上右键,选New Physical Schema:

  • 选择你要访问的MongoDB数据库名称
  • 绑定默认的上下文(比如Global)
  • 保存即可。

3. 创建逻辑架构

切换到Logical Architecture视图:

  • 找到MongoDB节点,右键选New Logical Schema
  • 关联刚才创建的物理架构,选择对应的上下文
  • 保存。

4. 抽取数据的配置

切换到Designer视图:

  • 创建一个新的Model,技术选择MongoDB,关联刚才的逻辑架构
  • 右键点击这个Model,选Reverse Engineer,可以选择要导入的集合,ODI会自动生成对应的数据模型
  • 然后创建Mapping,把MongoDB的集合作为源,拖到Mapping画布上,再连接到你的目标(比如Oracle数据库),通过可视化界面配置字段映射、过滤条件等,ODI会自动生成抽取逻辑,直接运行就行。
是否需要编写自定义代码?

大部分常规场景(比如读取整个集合、按条件过滤、简单字段映射)完全不需要写自定义代码,ODI的可视化工具和反向工程已经能覆盖。但如果遇到以下情况,可能需要定制:

  • 处理MongoDB的复杂嵌套文档(比如多层嵌套对象、数组的特殊解析):可以在Mapping里用Expression或者自定义User Function,甚至写Groovy/Java代码来处理
  • 需要执行复杂的MongoDB聚合查询:可以在源数据存储里用Custom SQL(注意是MongoDB的查询语法,不是SQL)来编写自定义查询
  • 特殊的认证或加密逻辑:这种情况极少,可能需要扩展JDBC连接,但一般AWS MongoDB的默认认证方式ODI都支持。

内容的提问来源于stack exchange,提问作者Mitesh S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:14:55