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数据库。致此问题解决。

  • 相关阅读:
    openstack对接VMware浅析
    一键部署 Docker Datacenter ---简化docker数据中心安装步骤
    基于Kubernetes(k8s)网络方案演进
    kubernetes1.4 基础篇:Learn Kubernetes 1.4 by 6 steps
    使用Netsil监控Kubernetes上的微服务
    Kubernetes(k8s)容器运行时(CRI)
    在Openstack上创建并访问Kubernetes集群
    html5--canvas绘制简单的时钟
    html5——canva 绘图1简单图形
    html5 兼容火狐 ev的事件
  • 原文地址:https://www.cnblogs.com/follow-discoverer/p/11288099.html
Copyright © 2011-2022 走看看