WLS:Oracle 数据源产生“ORA-01435:用户不存在”

WLS:Oracle 数据源产生“ORA-01435:用户不存在”

因此,我尝试在 Weblogic Server(12c)中设置一个新的数据源,但是我一遍又一遍地收到相同的错误:

java.sql.SQLException: ORA-01435: user does not exist

这看起来很简单,但据我所知,事实并非如此。

  • 我通过使用外部工具(Oracle SQLDeveloper)连接到数据库,多次仔细检查了数据库属性。
  • 我尝试连接模式所有者和第二个用户(为 Web 应用程序创建),他们都无法在 WLS 数据源中工作(但都可以在 SQLDeveloper 中完美运行)。
  • 同一个 WLS 实例可以毫无问题地连接到不同的 Oracle 数据源 - 只是新数据源会产生问题。(此外,工作数据源和非工作数据源都具有相同的托管服务器作为其目标。)

如果我输入完全相同的数据库属性(主机、端口、驱动程序、密码)但将用户名更改为不存在的用户名,我会收到不同的错误:

ORA-01017: invalid username/password; logon denied

所以这告诉我,用户存在,但 WLS 仍然收到 ORA-01435 错误。

有人知道问题可能是什么吗?

PS 如果我打开有问题的数据源的“监控”选项卡,表格是空的。到目前为止,我认为这是因为我遇到了连接错误,但无论如何我还是想在这里提一下。

答案1

最终能够找出问题的所在:

Weblogic Server 定义了一个极小的初始化 SQL 脚本,在创建数据源时执行该脚本来测试创建是否成功。实际上,正是这个测试 SQL 脚本试图访问一个不存在的用户。

相关内容