有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

连接到PostgreSQL的java IntelliJ问题

我不熟悉PostgreSQL(我通常使用其他数据库引擎),也不经常使用Java

我的问题是,我得到以下异常:

java.sql.SQLException: No suitable driver found for DATABASE_NAME
 java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at
 java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

我遵循本教程:http://www.postgresqltutorial.com/postgresql-jdbc/connecting-to-postgresql-database/并添加了postgresql-42.2.5。jar作为一个库

enter image description here

问题是,如屏幕截图所示,将驱动程序添加为库没有效果

所以我的问题是:如何使用Java和最新的IntelliJ连接到PostgreSQL数据库

任何帮助都将不胜感激

更新1: enter image description here

更新2: 由于已请求代码:我已将原始代码替换为将导致错误的最小代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class IngestData
{
    protected static String url;
    protected static final String user = "user";
    protected static final String password = "password";

    public static void main(String[] args)
    {
        Connection connection = null;
        url = args[args.length-1];
        try
        {
            connection = DriverManager.getConnection(url, user, password);
            System.out.println("SUCCESS");

        } catch (SQLException e)
        {
            System.out.println("ERROR");
            e.printStackTrace();
        }
    }
}

控制台输出为:

ERROR
java.sql.SQLException: No suitable driver found for http://127.0.0.1:10282/db01617792
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at IngestData.main(IngestData.java:17)

Process finished with exit code 0

以下是指向包含代码的git存储库的链接: https://github.com/ka6555/StackOverflow-Postgresql-Problem.git

更新3: 我发现了错误:

我需要换衣服

protected static String url;

protected static String url = "jdbc:postgresql://";

url = args[args.length-1];

url += args[args.length-1];

虽然这解决了我原来的问题,但程序现在仍无法执行以下行:

connection = DriverManager.getConnection(url, user, password);

没有错误,但程序将简单地像无休止的循环一样运行,永远不会超出此代码行

更新4: 我现在已经解决了所有的问题


共 (3) 个答案

  1. # 1 楼答案

    看起来您的项目依赖项中缺少了postgres jar文件

    • 打开项目结构(Windows上的Ctrl+Alt+Shift+S)
    • 选择模块/依赖项选项卡
    • 您应该看到如下内容:

    enter image description here

    如果缺少postgres依赖项:

    • 在屏幕截图右侧的+符号上单击
    • 选择库/项目库和postgres jar文件

    您的代码现在应该可以运行了。如果有帮助,请告诉我

    注意:请在GitHub上提供您的最小工作代码,以便更快响应

  2. # 2 楼答案

    这是URL语法不正确时收到的消息

    This是要求

  3. # 3 楼答案

    主要的问题是我使用了一个命令行参数作为数据库url,但没有在它前面加上前缀jdbc:postgresql://。此外,我不得不重新安装postgresql,因为有些奇怪的行为我想不出原因