为了账号安全,请及时绑定邮箱和手机立即绑定

PGJDBC:无法从客户端接收数据:

PGJDBC:无法从客户端接收数据:

蓝山帝景 2021-07-23 18:08:06
亲爱的 StackOverFlowers,我正在 Postgres 9.6 (Windows 10) 上尝试事件驱动的 LISTENER/NOTIFY。我遵循了 Steve Taylor 在https://www.openmakesoftware.com/postgresql-listen-notify-events-example/ 上给出的 PGJDBC 示例。我首先下载 pgjdbc-ng-0.7-complete.jar 并将其放入我的 CLASSPATH 替换标准 JDBC 驱动程序。当我尝试使用 pgjdbc 驱动程序连接到 Postgres 数据库时,出现错误:收到连接:主机=127.0.0.1 端口=50325连接授权:用户=postgres 数据库=scott无法从客户端接收数据:远程主机强行关闭了现有连接。这是我的系统变量:DBHost:本地主机数据库名称:斯科特数据库端口:5432数据库用户名:postgres数据库密码:postgres我没有越过第一个障碍,休息看起来像珠穆朗玛峰。请帮我。如果您需要代码,我正在关注史蒂夫的代码。除了 Joseph Larson 的回答之外,数据库始终在运行。我已成功从 PGADMIN 和 Java 连接到 Postgres 数据库。我认为问题在于连接字符串。从 Java 开始,当我使用 Postgres 提供的标准 JDBC 时,我使用的是像 jdbc:postgresql://localhost:5432/dbname 这样的 URL,但 PGJDBC 建议使用不同的连接字符串,如 JDBC:PGSQL://localhost:5432/dbname。我试图用那个字符串(强行)连接,它没有用。PGJDBC PGDataSource 中没有直接提供 URL 的方法。我不得不经历:数据源.setHost(DBHost);数据源.setPort(5432);dataSource.setDatabase(DBName);数据源.setUser(DBUserName);数据源.setPassword(DBPassword);以及它发送到数据库的 URL 我无法弄清楚。请给我建议一个连接字符串,这个问题就解决了。
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

你真的启动了数据库服务器吗?我不知道 PostgreSQL 服务器可以在 Windows 上运行,但我从未尝试过。

我会稍微简化你的问题。我对 Windows 上的 psql 一无所知,但在 Mac 上,我会启动服务器,然后使用 psql 命令(它是 PostgreSQL 的一部分)来确保服务器启动并运行。

如果要连接,则问题可能是:

-根本没有服务器 -服务器没有在您尝试的端口上运行 -服务器没有侦听主机 127.0.0.1 上的连接,但可能正在侦听您机器的实际 IP 地址 -I'我不确定那个特定的错误,但用户名、密码或数据库可能不存在。

我会使用 psql 找出哪些可能的原因是真正的问题。这会将您的程序作为问题的一部分隔离出来,并且它完全成为管理数据库服务器的一部分。


查看完整回答
反对 回复 2021-07-29
  • 2 回答
  • 0 关注
  • 348 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信