zoukankan      html  css  js  c++  java
  • C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

    原因大概是OracleOraDb11g_home1TNSListener服务没启动的原因

    步骤一、停止并重新启动OracleOraDb11g_home1TNSListener服务,试一下是否可行。

    如在启动此服务出现“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其它服务或程序使用时将自动停止。” 应该是Oracle的ORACLE_HOME出现问题,打开环境变量,找到系统变量中的ORACLE_HOME,把值改为ORACLE的安装目录,如下路径:

    E:appAdministratorproduct11.2.0dbhome_1

    再重新启动OracleOraDb11g_home1TNSListener服务,发现可以成功启动。

    步骤二、再次启动C#软件出现了新报错:ORA-12541: TNS: 无监听程序

    解决方法:开始-->所有程序-->Oracle OraDb11g_home1--配置和移植工具--Net Configuration Assistant,重新配置.如下图。

    此处参考:https://www.cnblogs.com/josephcnblog/articles/6785722.html

    步骤三、再次启动C#软件发现又出现如下报错:ora-12514:TNS:监听服务当前无法识别描述中的请求服务 

    原因:没有注册监听器 

    解决方法:E:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN中的listener.ora修改如下所示: 

    # listener.ora Network Configuration File: e:appAdministratorproduct11.2.0dbhome_1 etworkadminlistener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = CLRExtProc)
    (ORACLE_HOME = e:appAdministratorproduct11.2.0dbhome_1)
    (PROGRAM = extproc)
    (ENVS = "EXTPROC_DLLS=ONLY:e:appAdministratorproduct11.2.0dbhome_1inoraclr11.dll")
    )
    )

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    )

    ADR_BASE_LISTENER = e:appAdministrator

    再次重启服务,重启C#软件发现已经可以连上ORACLE数据库!

    步骤四、注意:如果用C#写的客户端可以访问ORACLE数据库,但是用C#写的webservice却访问不了oracle数据库,并报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

    解决方法:找到ORACLE的安装目录如:app ,右键此文件,属性,web共享,此处找到已发布的webservice,并添加共享。(此处操作是以windows server 2003系统做参考的,其他windows系统应该类似吧。)

    重启电脑,发现调用webservice已经可以访问oracle数据库。致此问题解决。

  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/follow-discoverer/p/11288099.html
Copyright © 2011-2022 走看看