当前位置: 首页 > 知识库问答 >
问题:

不能从Glassfish池连接到外部Oracle数据库,但我可以从DBeaver连接到外部Oracle数据库

何麻雀
2023-03-14

首先,如果我说错了话,我很抱歉,英语不是我的第一语言。此外,出于安全(和NDA)原因,我正在更改真实名称

ORA-01017: invalid username/password; logon denied

下面是我如何配置Glassfish池的:

数据源和驱动程序

URL、DBUSER和DBPASSWORD

<jdbc-connection-pool datasource-classname="oracle.jdbc.pool.OracleDataSource" name="NamePool" res-type="javax.sql.DataSource">
      <property name="URL" value="jdbc:oracle:thin:@//HOST:1521/SID"></property>
      <property name="DBPASSWORD" value="apass123"></property>
      <property name="DBUSER" value="auser"></property>
</jdbc-connection-pool>
<jdbc-resource pool-name="NamePool" jndi-name="jdbc/jndiORA"></jdbc-resource>
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public static void Connect(String query) throws NamingException {
        InitialContext ctx = new InitialContext();
        DataSource dataSource = (DataSource) ctx.lookup("jdbc/jndiORA");
        try (Connection conn = dataSource.getConnection()) {
            try (Statement stmt = conn.createStatement()) {
                ResultSet rs = stmt.executeQuery(query);
            }
        }
}
  • 使用“auser”和“apass123”代替auser和apass123
  • 用\(\auser和\apass)
  • 转义第一个字符
  • 下载了OJDBC6.jar的上一个版本

我不是外部数据库的管理员,所以不能尝试“alter system set sec_case_sensitive_logon”解决方案

非常感谢你所做的一切!

共有1个答案

锺离飞尘
2023-03-14

属性应该是userpassword,而不是dbuserdbpassword

<jdbc-connection-pool datasource-classname="oracle.jdbc.pool.OracleDataSource" name="NamePool" res-type="javax.sql.DataSource">
      <property name="URL" value="jdbc:oracle:thin:@//HOST:1521/SID"></property>
      <property name="USER" value="auser"></property>
      <property name="PASSWORD" value="apass123"></property>
</jdbc-connection-pool>

此外,/SID实际上是/service-name,所以请检查这是否正确,并且您正在尝试正确的cdb/pdb--尽管DBeaver截图有点令人困惑,因为它似乎在连接面板中指定了一个SID,但在第二个图像中显示了一个服务名URL。

 类似资料:
  • 问题内容: 我正在创建一个Spring Boot应用程序,该应用程序连接到不由PCF管理(或不在PCF外部)的oracle数据库。在我的本地开发环境中,我在application.properties文件中配置了数据库连接详细信息。有人可以在不对application.properties中的细节进行硬编码的情况下,分享如何在PCF中实现这一点。 问题答案: Cloud Foundry为您提供了一

  • 我返回一个接受字符串值的JSONArray,但是每当我运行我的应用程序时,我都会得到下面的错误消息。我的(GetCityDetails)方法返回一个空值。下面是我的语法和logcat信息。我做错了什么?谢谢 洛克卡特

  • 主要内容:使用SQL * Plus连接到Oracle数据库服务器,使用SQL Developer连接到Oracle数据库服务器在本教程中,您将学习如何使用和SQL Developer 工具连接到Oracle数据库服务器。 使用SQL * Plus连接到Oracle数据库服务器 是安装Oracle数据库服务器或客户端时自动安装的交互式查询工具。 有一个命令行界面,允许您连接到Oracle数据库服务器并交互执行语句。 注意:如果有使用过MySQL或PostgreSQL,与MySQL中的mysql程序

  • 问题内容: 我正在为我的三年级项目编写应用程序。该应用程序将需要与外部mySQL数据库进行交互。该应用程序将从数据库中检索数据,并在ListView中将其显示给用户。 我对应用程序将要具有的功能有很好的了解。我也花了很多时间使用ListViews和本地SQLite数据库。我还对HttpUrlConnection类做了一些重新研究。 我只是想知道有人能为我提供更多有关如何访问此外部数据库的指导吗?

  • 我已经创建了一个Spring启动应用程序,我没有使用内存中的H2数据库,而是安装了用于H2数据库的exe并在外部使用它。现在我想将我的Spring启动应用程序与这个外部H2数据库连接起来。我已经添加了依赖项,我已经在application.properties文件中添加了所有必需的属性(你可以看到下面)。此外,我还创建了一个带有注释的Entity类。但是当我尝试连接数据库时,它即使使用不同的URL

  • 我无法连接到我的。这是代码: 我得到了这个信息: 在学校,这个例子是有效的。问题出在哪里??