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

没有适合postgres的司机,即使是班级。forName有效吗?

翟冷勋
2023-03-14

我正在尝试使用以下驱动程序连接到我的postgresql数据库:

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>9.4-1204-jdbc41</version>
</dependency>

我正在使用以下代码:

Class.forName("org.postgresql.Driver");
System.out.println("Driver version: " + org.postgresql.Driver.getVersion());

String jdbcUrl = "jdbc:postgresql://localhost:5432";
String user = "postgres";
String pass = "password"; // super secure

Connection c = DriverManager.getConnection(jdbcUrl, user, pass);

我得到以下输出

驱动程序版本:PostgreSQL 9.4 JDBC4.1(build 1204)
java.sql.SQLException:找不到适合jdbc的驱动程序:postgresql://localhost:5432

那么,为什么9.4驱动程序不合适呢?我知道我可以通过psql命令行登录,但我似乎无法通过Java让它工作。

我已经做了很多次这样的应用程序,但似乎看不到我在这里遗漏了什么。。。

共有1个答案

罗淮晨
2023-03-14

所有这一切都归功于一匹没有名字的马,但这个问题需要一个答案。

在连接字符串中指定数据库或添加尾随斜杠。

错误的url:

jdbc:postgresql://localhost:5432

好的:

jdbc:postgresql://localhost:5432/

jdbc:postgresql://localhost:5432/thebestdatabase

 类似资料:
  • 说我有以下两个班: 和 如果这两个类都在默认包中,那么它运行良好,类被加载,世界也很美好。(如果我要删除类,我会得到一个,正如预期的那样。 但是,如果它们都在一个包中(假设它是Eclipse中的一个包),并且 在这两种方法中声明,当我尝试运行它时,会得到一个。 是什么导致了这个问题,我如何解决它?这是我能够在一个更大的程序中重现一个错误的最简单的方法。

  • 我意识到我试图创建的项目中有一些有线的东西。我正在使用RestTemplate。我正在尝试连接服务器并检索数据。一切都很顺利,直到我决定在多个控制器类中破坏我的程序。看看我做了什么。在这些新类别中,我在每个类别中插入: 为了检索数据,我只使用JAXB注释(用于数据绑定),我可以检索我想要的任何东西。但是当我尝试在新类中执行这行代码时: 我接受这个例外:RestClientException“无法提

  • 我尝试了几个教程,我可以得到我的手,但他们都导致相同的错误: 18:28:24,583INFO[stdout](默认任务-1)数据库错误:找不到适合JDBC的驱动程序:postgresql://localhost:5432/postgres 我已经按照本教程配置了连接:如何使用WILDFLY设置POSTGRESQL数据源 并尝试了几种解决问题的方法。我尝试了管理控制台和配置文件。最常见的解决方案是

  • 有一个错误,JMH没有让我的类达到基准。 其中EventRunner包含: 我得到一个错误: 不包括:org。样品我的基准。testMethod,与com不匹配。斯特库拉。基准策略EventRunner没有匹配的基准。拼写为regexp的小姐?使用-v表示详细的输出。 如何将正则表达式更改为有效? 谢谢

  • 我尝试了很长时间的Camera2 api集成到我的应用程序。它的工作良好的捕捉图像第一次。但当我抓拍第二次预览没有来。我测试了它在genymotion nexus 5模拟器。尝试了所有的例子。预览没有来为抓拍第二次。也得到了这个错误。java.lang.IllegalArgumentException:Surface没有有效的本机Surface... 我遵循了这2个代码http://induces

  • 问题内容: 没有它是否有效? 有一个标记页面中某些字段的过程,只是找到了一个页面,其中的输入字段没有按我的预期被标记。 我花了一段时间,但得出的结论是,获取表单元素然后获取字段的过程是导致这些表单丢失的原因,因为没有表单。 问题答案: 如果没有出现,则为有效,是的(至少对于html 4.01,请看17.2.1的结尾): 用于创建控件的元素通常出现在FORM元素内部,但当用于构建用户界面时也可能出现