ORACLE存储过程正常使用,但项目无法连接数据库进行操作

System.TypeInitializationException: “Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常。 —> Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client 在 Oracle.DataAccess.Client.OracleInit.Initialize() 在 Oracle.DataAccess.Client.OracleConnection…cctor() — 内部异常堆栈跟踪的结尾 —

推测问题如下:

原因可能是:

  1. 项目环境存在问题
  2. windows系统(64/32)和plsql(64/32)位数搞出问题以至于项目无法正常运行(我是.net)
  3. 百度的方式不对

我是第一种情况,经历了三四天的折磨后终于让项目成功连接上数据库.
本来我系统是32位系统,重装64位系统后爬了一堆坑才发现64位的plsql是需要安装32位的客户端(instantclient_11_2)才可以开始使用的.
数据库能运行之后信心满满打开项目跑的时候发现报错连不上数据库,报的错误就是最上面那个,三四天里看了好多文章,有说换oracle.dataAccess的,也有说换Oracle.ManagedDataAccess的,搞得心力交瘁
最后找到了这个链接https://blog.csdn.net/sat472291519/article/details/59108684
尝试并且成功了
所以我说是项目环境存在问题,因为我是.net,重装以后没有给oracle专门for .net的环境.

之前看到第二种情况也很多人搜索浏览,我也留一下当时帮助到我的链接
当时经历过

  1. ORA-12557

  2. PLSQL登录时没有可选数据库和连接的问题
    https://www.cnblogs.com/nsw2018/p/9837611.html
    (这一篇是当时他可以了我还不行,但是这个给我启发很大,了解了很多)

  3. ORA-12518: TNS: 监听程序无法分发客户机连接错误
    https://blog.csdn.net/qq_20941571/article/details/78455974
    (这一篇当时弄完立刻有效,主要问题在重启监听服务,好像是)

  4. oracle监听器启动lsnrctl status例程的状态为unknown
    http://blog.itpub.net/9240380/viewspace-719391/
    (还有当时重启完监听服务以后一直说我的orcl服务是unknown,气坏我了)

  5. ORA-12560TNS:协议适配器错误
    https://blog.csdn.net/dingguanyi/article/details/80908191
    (当时只试了第一种情况就看别的去了,最后是在别的博客找到的第二种方法,然后就搞定了!!!多花了好多时间,难受)

  6. ORA-01034oracle无法打开
    https://blog.csdn.net/qq_39805362/article/details/82179848

  7. 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序
    https://www.cnblogs.com/wolfplan/p/3945399.html
    (然后就是引用的32位dll在64位的iis上部署时遇到的问题,当时没有在visual studio上调试过再试运行,根据链接中弄完立刻就好了)

  8. 遇到在visual studio里测试链接数据库失败的情况,问题名如下:
    尝试加载 Oracle 客户端库时引发 BadImageFormatException
    https://blog.csdn.net/fabcx1111/article/details/52658089
    https://blog.csdn.net/sinat_34422900/article/details/80814988
    (然后按照这两篇去下载了Oracle Developer Tools for VS2017来用就测试链接成功了)(我是VS2017)

  9. 终极问题“Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常
    https://blog.csdn.net/sat472291519/article/details/59108684
    (没进行第二步,我把ODAC下下来就好了)
    https://www.oracle.com/technetwork/cn/topics/dotnet/utilsoft-086879-zhs.html
    (这个是ODAC的下载地址,我目前来说是跟那篇博客一样下的ODAC 11.2 第 4 版和 Oracle Developer Tools for Visual Studio (11.2.0.3.0))

最后的最后,我终于项目成功调用oracle中存储过程了,开心!
(虽然只是简简单单的32位系统重装成64位系统,但是还是花了我三四天时间来搞这些环境之类的东西,只能感慨说程序员不易,且行且珍惜自己在程序员这个行当中的剩余时光)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值