我正在尝试配置Oracle Apex 5和ORDS以与Tomcat一起使用。我设法按照Oracle docs指令完成所有步骤,但是当我尝试使用http://localhost:8080/ords/
访问ORDS时,它给出了错误:
404 Not Found
请求无法映射到任何数据库。检查请求URL是否正确,以及是否已正确配置该数据库映射的URL
请支持,独立工作正常。
甲骨文:11g答案 0 :(得分:1)
我通过解锁apex用户(在我的情况下为APEX_190200)解决了这个问题,然后重新启动了tomcat ...简单!
答案 1 :(得分:0)
你有答案吗?我怀疑ords.war无法找到配置文件夹并导致404错误。 java -jar ords.war configdir
的输出是什么?如果是相对路径运行java -jar ords.war configdir full_path
将其更改为full_path并使用新的ords.war,那么webapps下的ords.war可以
答案 2 :(得分:0)
我通过确保设置过程中的主机名(#include <iostream>
#include <string>
#include <map>
using namespace std;
class Enemy{
public:
std::string m_name;
int m_hp;
int m_dmg;
static std::map<std::string,Enemy*> s_instances;
Enemy(const std::string& name, int hp, int dmg)
: m_name(name),
m_hp(hp),
m_dmg(dmg)
{
s_instances[name] = this;
}
~Enemy()
{
s_instances.erase(m_name);
}
const std::string& getName() const
{
return m_name;
}
static Enemy* getInstanceByName(const std::string& name)
{
Enemy* result = nullptr;
auto iter = s_instances.find(name);
if(iter!=s_instances.end()) result = iter->second;
return result;
}
};
std::map<std::string,Enemy*> Enemy::s_instances;
void doStuff()
{
Enemy* instance = Enemy::getInstanceByName("Ork");
std::cout << instance->getName();
}
int main() {
Enemy ork("Ork",300,20);
doStuff();
return 0;
}
)与该服务的tnsnames.ora列表中的主机名完全相同来解决了这个问题。 localhost和dns1.uk2.net.xxxxxxx.co.uk的值不可互换。
答案 3 :(得分:0)
当我发现ORDS突然停止工作并在登录页面上遇到404错误时,我通过执行以下步骤解决了我的问题。希望对您有所帮助!
当您拥有404时,可能是用户密码到期有问题。
检查您是否有任何已过期/锁定的用户:
从dba_users中选择用户名,account_status,已创建,lock_date,expiry_date,account_status!='OPEN';
然后执行一堆“标识为xxxx帐户解锁的更改用户xxx”。
打开每个必需的用户帐户后,以管理员身份在控制台中执行以下操作:
Java -jar ords.war设置
tom stop8的净停止
净启动tomcat8