连接到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作为一个库
问题是,如屏幕截图所示,将驱动程序添加为库没有效果
所以我的问题是:如何使用Java和最新的IntelliJ连接到PostgreSQL数据库
任何帮助都将不胜感激
更新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: 我现在已经解决了所有的问题
# 1 楼答案
看起来您的项目依赖项中缺少了postgres jar文件
如果缺少postgres依赖项:
您的代码现在应该可以运行了。如果有帮助,请告诉我
注意:请在GitHub上提供您的最小工作代码,以便更快响应
# 2 楼答案
这是URL语法不正确时收到的消息
This是要求
# 3 楼答案
主要的问题是我使用了一个命令行参数作为数据库url,但没有在它前面加上前缀
jdbc:postgresql://
。此外,我不得不重新安装postgresql,因为有些奇怪的行为我想不出原因