Oracle APEX连接非管理数据库遇连接池错误及方案问询
解决Oracle APEX连接外部数据库的ORDS报错及简化配置方案
一、修复当前ORDS配置的连接池错误
你遇到的aml2_pu连接池不存在问题,核心原因是JDBC URL格式错误,导致ORDS未正确创建连接池。按以下步骤修正:
修正JDBC URL格式
你之前输入的URL把用户名密码直接拼接在地址里,不符合标准JDBC格式。正确的自定义URL应为:jdbc:oracle:thin:@192.168.1.1:1521/AML2重新执行ORDS数据库配置
全程使用普通权限ORDS用户(不建议用sys,需提前在目标库创建用户并授予CONNECT、RESOURCE、ORDS_ADMINISTRATOR_ROLE权限):java -jar ords.war setup --database AML2 # 选择3(Custom URL) Enter number for [1] Basic [2] TNS [3] Custom URL [1]:3 # 输入正确的JDBC URL Enter the Custom JDBC URL:jdbc:oracle:thin:@192.168.1.1:1521/AML2 # 输入提前创建的ORDS专用用户名,比如ORDS_AML2_USER Enter database username:ORDS_AML2_USER # 输入对应密码 Enter database password:***** # 按提示完成剩余配置(接受默认或按需调整)验证配置文件与重启服务
- 检查ORDS配置目录(默认
ords/conf)下是否生成AML2/apex_pu.xml文件,文件内应有正确的连接参数。 - 重新执行URL映射命令:
java -jar ords.war map-url --type base-path --workspace-id NEW_DB /NEW_DB AML2 - 重启ORDS服务,让配置生效。
- 检查ORDS配置目录(默认
二、更简洁的连接配置方案
方案1:使用WebLogic数据源
- 在WebLogic控制台创建JDBC数据源:
- 配置JNDI名称(比如
jdbc/AML2_DB)、目标库的JDBC URL、专用用户名密码,测试连接确保可用。
- 配置JNDI名称(比如
- 修改ORDS配置文件:
- 打开
ords/conf/ords.xml,添加以下配置让ORDS全局使用WebLogic数据源:<entry key="jdbc.datasource">jdbc/AML2_DB</entry> - 若仅需特定路径应用使用该数据源,可在
ords/conf/url-mappings.xml的对应映射条目里添加数据源引用。
- 打开
- 重启WebLogic和ORDS服务,测试APEX应用连接。
方案2:手动编写ORDS配置文件
直接通过配置文件定义连接,无需命令行交互:
- 在ORDS配置目录下新建
AML2文件夹。 - 在该文件夹内创建
apex_pu.xml,内容示例:<properties> <entry key="db.username">ORDS_AML2_USER</entry> <entry key="db.password">你的密码</entry> <entry key="db.connectionType">thin</entry> <entry key="db.hostname">192.168.1.1</entry> <entry key="db.port">1521</entry> <entry key="db.servicename">AML2</entry> </properties> - 执行URL映射命令并重启ORDS服务即可。
内容的提问来源于stack exchange,提问作者Mahdi Faramarzi
相关产品推荐
相关产品推荐

