使用navicat连接postgresql报错问题解决

49 篇文章 0 订阅
11 篇文章 0 订阅

使用navicat连接postgresql报错问题解决

一、问题现象:

最近使用Navicat来连接postgreSQL数据库,发现连接不上,报错信息如下:

在这里插入图片描述

自己百度了一下,发现pgsql 15版本以后,有些系统表的列名改了,pg_database表里的这一个列被删除了导致的。

在这里插入图片描述

二、解决方法:

1、升级Navicat版本:

将navicat升级到16.2以上版本;

在这里插入图片描述

2、使用低版本的postgreSQL:

降级pgsql、老版本仍然可用。

3、修改Navicat的dll文件:

找到navicat安装目录,有一个libcc.dll文件。

在这里插入图片描述

  • 备份这个文件;
  • 进入网站 https://hexed.it/ 打开本地的libcc.dll 文件;
  • 右侧点击搜索,关键词 SELECT DISTINCT datlastsysoid ;
  • 找到之后,把 datlastsysoid 这几个字,改成 dattablespace ;
  • 然后把文件下载回来,放回原处。

在这里插入图片描述

最后,重启Navicat,可以发现无论老和新版本的pgsql都可以正常访问了。

在这里插入图片描述

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: navicat连接oracle报错12514通常是因为连接信息有误或Oracle服务未启动导致的。 解决方法如下: 1. 确保Oracle服务已启动,可以在命令行输入“services.msc”查看。 2. 检查连接信息是否正确,包括主机名、端口号、服务名等,建议使用tnsping命令测试连接。 3. 检查防火墙是否阻止了连接,可以暂时关闭防火墙进行测试。 4. 确保使用的Oracle客户端版本与Navicat兼容。 如果以上方法都没有解决问题,可以在Navicat的官方论坛上寻求帮助,或者联系Navicat的技术支持团队。 ### 回答2: navicat连接oracle报错12514是因为Oracle数据库实例监听器没有在指定的端口上运行或者无法正常连接解决这个问题的方法如下: 1. 确保Oracle监听器正在运行:可以通过在命令行中输入“lsnrctl status”命令来检查监听器的状态。如果监听器未运行,请输入“lsnrctl start”命令来启动监听器。 2. 检查连接配置:确保在navicat中输入的主机名、端口号、服务名等连接信息是正确的。可以通过查询tnsnames.ora或者使用Oracle Net Manager来获得正确的连接配置。 3. 确保防火墙未阻止连接:如果你使用了防火墙,请检查防火墙设置,确保不会阻止navicat与Oracle数据库之间的通信。 4. 检查数据库服务是否正在运行:进入Windows服务管理器,检查Oracle相关的服务是否正在运行,如果没有运行,请尝试启动相应的服务。 5. 检查数据库实例状态:通过在命令行中输入“sqlplus / as sysdba”命令来连接数据库实例,然后输入“select instance_name, status from v$instance”命令来检查数据库实例的状态。如果状态不是“OPEN”,则可能需要启动或者恢复数据库实例。 如果以上方法无法解决问题,建议向Oracle数据库管理员寻求帮助,他们可能需要进一步检查数据库配置和网络设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值