java - IntelliJ - 连接到 PostgreSQL 的问题
问题描述
我是 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:我现在已经解决了所有问题。
解决方案
推荐阅读
- mysql - MySQL存储值列表
- mysql - 如何使用 C# Visual Studio 执行 MySql 存储过程
- javascript - 是否可以在使用 console.log 将其发送到服务器时查看此 json 数据?
- c# - 您可以将 Autofac 的 Owned 与标记界面一起使用吗?
- r - 用 R 中的匹配名称替换基于向量的矩阵值
- mongodb - Pymongo find() 与“$toString”投影运算符
- php - 难以将其他扩展加载到 Azure 上的 php 实例中
- elasticsearch - 及时将多个日志从filebeat发送到logstash
- c# - 在 C# 中更改长日期格式
- bash - Bash:我如何(1)从包含一列数字的文件中的“i”行中读取一个数字,以及(2)将值分配给一个变量?