繁体   English   中英

尝试从 servlet 连接到 Oracle XE 时出现 ORA-01017 错误

[英]ORA-01017 error when attempting to connect to Oracle XE from servlet

我正在尝试编写一个用于学习目的的 servlet 应用程序,该应用程序连接到 Oracle 数据库,查询一些数据,然后将其打印到浏览器。 简单的!

但是,我在尝试连接到本地安装和运行的 Oracle XE (19c) 版本时遇到了ORA-01017: invalid username/password 为了测试连接,我与系统用户连接。 这是我的代码:

// http://localhost:8080/demo/
public class DemoServ extends HttpServlet {

    public void doGet(HttpServletRequest req,HttpServletResponse res)
    throws ServletException,IOException {

        try{
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1523:xe", "system", "SYSTEM");

            con.close(); 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我使用的用户绝对存在,我可以使用 SQL Developer 进行连接而不会出现问题。

我愿意把这归结为我自己对 Java 的无知,但是如果我独立于任何 servlet 运行以下代码,我可以连接并执行示例查询!

public class DataReader {

    public static void main (String [] args) {

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");

            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1523:xe", "system", "SYSTEM");

            Statement statement = con.createStatement();
            ResultSet rs = statement.executeQuery("SELECT count(*) num FROM dual");

            if (rs.next()) {
                int i = rs.getInt("num"); // get first column returned
                System.out.println("number: " + i);
            }
            rs.close();
            statement.close();
            con.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

我一直在 Google 上搜索此问题的解决方案,但一直找不到解决方案,所以我来了。

我正在 Windows 10 上工作,使用 Java 1.8 和 Oracle 19c XE。

任何帮助都会很棒。 谢谢

好的,我终于开始工作了,但我无法解释原因。

Oracle 19c 区分大小写,我知道。 我试图禁用它,但由于它是一个贬值的功能,这似乎很快。 我把系统用户的密码改成“system”,就可以连接成功了。 “SYSTEM”作为密码继续失败。

对此让我感到奇怪的是,我确信我过去曾尝试使用“系统”(小写)密码。 :(

无论如何,我可能正在做一些愚蠢的事情,但至少我已经克服了困境。 呼!

谢谢大家!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM