ORA-28040: No matching authentication protocol(Ora-28040 没有匹配的验证协议)

本文主要是介绍ORA-28040: No matching authentication protocol(Ora-28040 没有匹配的验证协议),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题:ORA-28040: No matching authentication protocol

说明:在配置远程连接数据库时出现ORA-28040: No matching authentication protocol  错误;

此错误表示客户端连接错误,

原因分析:

网上查了主要是说我电脑上orcale的客户端版本是11G的,而远程的是12C的,对应的版本不一致,所以会导致出现连接时报ORA-28040的没有匹配的认证协议错误,对此找了网上很多方法,都没用,最后在同事的帮助下完成连接,具体如下:

 

此方案只对以下配置有用(其他环境下没有测试)说明:

Windows7 64的系统,

Oracle 11G 64的客户端,

PLSQL Developer 12  64的管理工具

文件连接:点击下载instantclient_12_2文件

密码:q3t5

解决方案:

第一步:将instantclient_12_2 文件夹中拷贝到电脑上,记住存放的位置,然后在文件中找到tnsnames.ora  文件,用记事本打开,例如我的是在(D:\ instantclient_12_2\tnsnames.ora)

在最后文件的最后面加上下面一段代码:

 

数据库连接名=

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = ip地址就是要连接数据库的地址)(PORT =端口号))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = 数据库名)

    )

  )

例如我的是:

nontax =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 47.**.**.94)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = orcl)

    )

  )

第二步:打开PLSQL管理工具,此时应该是连接不上的直接跳过登陆,打开主面板,按下图代开首选项,在首选项面板上填写instantclient_12_2 文件存放的路劲,在下一栏目上填写instantclient_12_2 文件中的oci.dll文件路径,点击OK保存即可,重启PLSQL管理工具,就可以连接了。

 

第三步:如果上述方式没有效果,则表示需要将instantclient_12_2 文件的路径配置到环境变量中,保存后重启PLSQL即可,方法如下:

选择我的电脑,右键属性,高级系统设置,环境变量,在系统变量中新建一个,

变量名:TNS_ADMIN

值:instantclient_12_2 文件的路径

列入:

变量名:TNS_ADMIN

值:E:\instantclient_12_2

 

这篇关于ORA-28040: No matching authentication protocol(Ora-28040 没有匹配的验证协议)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1014853

相关文章

Java JDK Validation 注解解析与使用方法验证

《JavaJDKValidation注解解析与使用方法验证》JakartaValidation提供了一种声明式、标准化的方式来验证Java对象,与框架无关,可以方便地集成到各种Java应用中,... 目录核心概念1. 主要注解基本约束注解其他常用注解2. 核心接口使用方法1. 基本使用添加依赖 (Maven

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

SpringBoot3匹配Mybatis3的错误与解决方案

《SpringBoot3匹配Mybatis3的错误与解决方案》文章指出SpringBoot3与MyBatis3兼容性问题,因未更新MyBatis-Plus依赖至SpringBoot3专用坐标,导致类冲... 目录SpringBoot3匹配MyBATis3的错误与解决mybatis在SpringBoot3如果

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、