ORDS 和 Tomcat - 图片前缀路径可能不正确

ORDS and Tomcat - images prefix path might not be correct

我已经在服务器上安装了JDK、Tomcat 8 和ORDS。我将 ORDS 独立安装,然后将 images 文件夹复制到 j 文件夹并删除 Tomcat dir/webapps

我在尝试访问`http:\localhost:8090\ords

时遇到以下错误

There is a problem with your environment because the Application Express files have not been loaded. Please verify that you have copied the images directory to your application server as instructed in the Installation Guide. In addition, please verify that your image prefix path is correct. Your current path is /j/ (it should contain both starting and ending forward slashes, such as the default /i/). Use the SQL script reset_image_prefix.sql if you need to change it

首先,我注意到我的 ORDS standalone.properties 文件在路径末尾没有结尾 \,所以我添加了它,但仍然遇到相同的错误。

另一位开发人员也使用 /j/ 而不是 /i/,我认为这可能是个问题,但后来我创建了 /i/ 目录并更改了 standalone.properties 但没有任何改变 - 仍然出现错误.

我的数据库在另一台服务器上,我想脚本也是如此 reset_image_prefix.sql。我自己可能无法 运行,必须询问 DBA,但也许这不是问题,我可以在当前服务器上自行进行更改吗?

有人能帮忙吗?

@ElenaDBA,你能回答我以下问题吗?

  1. 命令版本?
  2. 您是迁移 Apex 还是全新安装?
  3. 它是产品安装还是开发安装?
  4. 你的数据库是不是PDB?

我会根据你的回答提供解决方案吗?

这是不使用 SQL 开发人员的步骤?

  1. 安装 java 7+ 和 TOMCAT
  2. 设置JAVA_HOME
  3. 确保 tomcat 通过 运行 在没有 ords.war 的 tomcat 服务器上正确配置。
  4. 为 ORDS 用户创建用户
ALTER USER APEX_PUBLIC_USER identified by password123 ACCOUNT UNLOCK;
create USER ORDS_PUBLIC_USER identified by password123; 
alter USER ORDS_PUBLIC_USER identified by password123 ACCOUNT UNLOCK;
grant connect to ORDS_PUBLIC_USER;
  1. 创建文件夹 /opt/ords/war_file /opt/ords/config
  2. 下载 ords.war 到 /opt/ords/war_file 文件夹
  3. 创建目录/opt/ords/config
  4. 执行以下操作:

    cd /opt/ords/war_file
    java-罐子ords.war 系统将提示您输入 oracle 数据库服务器名称、SID、sysdba 用户密码。

Say NO or SKIP to apex installation.

  1. 复制/opt/ords/war_file/ords.war到/opt/tomcat/apache-tomcat/webapps/文件夹

  2. 运行 tomcat 并浏览到

    http://server-ip:8080/ords

你应该得到带有 404 Not Found

的订单页面
  1. ORDS 已安装并启动并且 运行ning。现在是启用某些架构及其对象的时候了。

启用模式:

BEGIN
 ORDS.ENABLE_SCHEMA(p_enabled => TRUE,
   p_schema => '<schema-name>',
   p_url_mapping_type => 'BASE_PATH',
   p_url_mapping_pattern => '<schema-alias>',
   p_auto_rest_auth => FALSE);
commit;
END;
/

启用Object/Table:

BEGIN
 ORDS.ENABLE_OBJECT(p_enabled => TRUE,
   p_schema => '<schema-name>',
   p_object => '<table-name>',
   p_object_type => 'TABLE',
   p_object_alias => '<table-alias-name>',
   p_auto_rest_auth => FALSE);
 commit;
END;
/
  1. 现在浏览

http://server-ip:8080/ords/schema-alias/table-alias

  1. 禁用模式
BEGIN
     ORDS.ENABLE_SCHEMA(
      p_enabled => FALSE,
      p_schema => '<schema-name>');
end;
/
  1. 卸载 ORDS
cd /opt/ords/war_file
java -jar ords.war uninstall

问题已解决!问题是复制的 images 文件夹不完整,所以一旦我们复制了包含所有文件

images 文件夹