DB2数据库显示未启动,但是可以连接到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2数据库显示未启动,但是可以连接到相关的知识,希望对你有一定的参考价值。

DB2数据库的图标显示是数据库为停止状态,用DB2START或者DB2ADMINSTART命令,命令执行后提示消息为成功启动,但图标显示依旧显示为未启动的状态,数据库查询工具能链接上,相对应的软件同样能链接上能操作。请教问题明确原因,谢谢

参考技术A 数据库查询工具能链接上说明肯定启动成功了,应该是DB2图标显示有问题,你可以重启一下DB2数据库服务,或直接重启服务器。追问

服务器重启了好多次了,问题依旧一样

运行 Dockerfile 时如何连接到 db?

【中文标题】运行 Dockerfile 时如何连接到 db?【英文标题】:How connect to db when running Dockerfile? 【发布时间】:2021-12-08 21:09:34 【问题描述】:

我有一个 Spring Boot 应用程序,可以很好地连接到我在 Desktop Docker 中本地运行的 PostgreSQL 服务器。

我写了一个简单的 Dockerfile 来在容器中运行我的应用程序。容器启动但无法连接到我的数据库服务器并显示错误消息:

与 localhost:5432 的连接被拒绝。

为什么以及如何解决这个问题?

【问题讨论】:

【参考方案1】:

要从 docker 容器内访问 localhost,您可以使用计算机的 IP。本地主机或 127.0.0.0 不起作用。

【讨论】:

【参考方案2】:

使用 docker compose 连接两个 docker 容器。

https://docs.docker.com/compose/

在此页面上,您可以看到如何使用 docker compose 连接到容器的示例:

https://dev.to/mozartted/docker-networking--how-to-connect-multiple-containers-7fl

【讨论】:

【参考方案3】:

如果它们位于单独的 Docker 网络上,请使用:

docker.host.internal

这将连接到 Docker 主机。因此,如果您的 PostgreSQL 实例在 5432 上公开,docker.host.internal 将通过主机从其他容器路由到该实例。

或者,使用 docker compose 或通过创建网络并将两个容器附加到它们来将它们设置在同一个网络中。然后他们可以与容器名称进行通信。

https://docs.docker.com/engine/reference/commandline/network_create/

【讨论】:

以上是关于DB2数据库显示未启动,但是可以连接到的主要内容,如果未能解决你的问题,请参考以下文章

重启后,db2无法从客户端连接

通过 JDBC 连接到远程 db2 数据库失败

通过SSL将IBM DB2 JDBC连接到编目数据库

无法使用带有 securityMechanism=13 的 DataGrip 连接到 DB2

我需要从Oracle Apex连接到DB2 AS / 400数据库。

在 Shell 脚本中通过 JDBC 连接到 DB2