如题,答案为:【ORA-01017】.NET程序连接数据库失败


转载文章内容如下:

遇到问题

使用 C#/.NET 开发的一个客户端程序,需要连接 ORACLE 数据库,使用 Oracle.ManagedDataAccess 配合上 PetaPoco 可以大大简化数据库的操作。

一次偶然的事件,遇到了以下错误:

ORA-01017: invalid username/password; logon denied     在 OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, CriteriaCtx criteriaCtx, String affinityInstanceName, Boolean bForceMatch)
在 OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, CriteriaCtx criteriaCtx, String affinityInstanceName, Boolean bForceMatch)
在 OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, CriteriaCtx criteriaCtx)
在 Oracle.ManagedDataAccess.Client.OracleConnection.Open()

程序无法正常连接数据库,但是使用 PL/SQL 依旧可以正常连接。

解决问题

根据主要错误信息百度 ORA-01017: invalid username/password; logon denied ,从大量结果中得到以下可能:

  1. 密码确实有误:可修改密码 alter user 用户名 identified by 新密码;
  2. 密码大小写问题:可执行 alter system set sec_case_sensitive_logon = FALSE;
  3. 账户被锁定:可执行 alter user 用户名 account unlock;
  4. 无权限:可执行 grant connect, resource, dba to 用户名;

还有其他修改 java.security 等无意义的解决方法。然而尝试了上面全部的方法都未能解决问题,.NET程序还是报同样的错误 ORA-01017: invalid username/password; logon denied

完美解决

经过大量的查阅资料,最终发现问题在是 FIPS 兼容性问题。

FIPS:全称是 Federal Information Processing Standard ,中文名叫联邦信息处理标准,FIPS 是由两个政府主体开发的标准。一个是美国国家标准和在美国境内的技术。另一种是通信安全机构,在加拿大。FIPS 是建议或要求使用 (美国或加拿大) 的联邦政府操作 IT 系统中的标准。

.NET 程序可以通过再其 .config文件中添加以下配置来关闭 FIPS 校验:

<configuration>
<runtime>
<enforceFIPSPolicy enabled="false"/>
</runtime>
</configuration>

同样可以通过修改注册表的方式关闭 FIPS 校验,修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\Enabled 值为 0

经验证修改注册表,然后重启有效。

作者:rochy_he
链接:https://www.jianshu.com/p/c301b062237b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

.NET 通过entity framework报数据库连接错误:ORA-01017: invalid username/password; logon denied的更多相关文章

  1. LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

    出现的现象:

  2. 登录PL/SQL无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误

    在使用在登录PL/SQL(使用scott用户)无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误(程序中的用户和密码无法登录 ...

  3. 被拒--悲剧之ORA-01017: invalid username/password; logon denied 错误

    本地没有安装oracle.安装了oracleclient和PL/SQL Developer.来实现对oracle数据库的可视化操作. 在使用在登录PL/SQL无法登录.提示错误:ORA-01017: ...

  4. sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误

    今天用scott用户登录Oracle数 据库时,竟然出现了ORA-01017: invalid username/password; logon denied错误,原以为是因为我的scott用户没有解 ...

  5. Oracle 数据库基础 出现invalid username/password; logon denied错误解决方案

    出现invalid username/password; logon denied错误解决方案 [win7或win8中 cmd要以管理员身份运行] 1.Dos下输入命令:sqlplus sys/安装时 ...

  6. PLSQL中scott账户登录不上,报错ORA-01017: invalid username/password; logon denied

    问题:PLSQL中scott账户登录不上,提示上述错误 解决方法: 1. cmd——>进入c目录; 2. 输入:sqlplus/nolog; 3. connect username/passwo ...

  7. Oracle错误——user ** lacks CREATE SESSION privilege logon denied

    错误 在删除一个用户TEST的情况下,再次新建用户TEST并赋予sysdba权限,使用plsqldev工具登录数据库TEST用户,报错user TEST  lacks CREATE SESSION p ...

  8. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  9. 解决运行Robot Framework报‘’ascii’错误

    在Python27\Lib\site-packages中新建‘sitecustomize.py’,内容如下: #coding=utf8import sysreload(sys)sys.setdefau ...

随机推荐

  1. Ubuntu-Tweak 安装

    Ubuntu Tweak 是中国人开发的一款专门为Ubuntu准备的配置.调整工具,类似与compiz,界面更友好.   下面是安装命令:   第一步:添加tweak源 sudo add-apt-re ...

  2. fetch数据请求的封装

    export default class HttpUtils { static get(url){ return new Promise((resolve,reject)=>{ fetch(ur ...

  3. <自动化测试方案_3>第三章、怎么样实现自动化测试?(How)

    第三章.怎么样实现自动化测试?(How) 自动化测试分为:代码单元自动化测试.API接口自动化测试.UI自动化测试 代码单元自动化测试,一般是无法做到的,因为项目的原因,代码单元是不做自动化,其测试是 ...

  4. (网页)html5 canvas清空画布方法(转)

    总结以下三种清空canvas画布的方式: 1. 最简单的方法:由于canvas每当高度或宽度被重设时,画布内容就会被清空,因此可以用以下方法清空: function clearCanvas() { v ...

  5. mysql数据表的基本操作:表结构操作,字段操作

    本节介绍: 表结构操作 创建数据表. 查看数据表和查看字段. 修改数据表结构 删除数据表 字段操作 新增字段. 修改字段数据类型.位置或属性. 重命名字段 删除字段 首发时间:2018-02-18  ...

  6. 使用Visual Studio Team Services敏捷规划和项目组合管理(一)——使用团队、区域和迭代

    使用Visual Studio Team Services敏捷规划和项目组合管理(一)--使用团队.区域和迭代 概述 在本实验,你将会了解Visual Studio Team Services提供的敏 ...

  7. Java中数组、List、Set互相转换

    数组转List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List sta ...

  8. Foreach用法

    循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环.那么我要说的就是,在循环操作中尽量使用foreach语句来实现.   为了来更好地说明为什么要提倡使 ...

  9. org.hibernate.NonUniqueObjectException

    错误如下: 2017-3-29 15:17:52~ERROR~org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV ...

  10. Linux CFS调度器之task_tick_fair处理周期性调度器--Linux进程的管理与调度(二十九)

    1. CFS如何处理周期性调度器 周期性调度器的工作由scheduler_tick函数完成(定义在kernel/sched/core.c, line 2910), 在scheduler_tick中周期 ...