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

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

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

E:\app\Administrator\product\11.2.0\dbhome_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:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN中的listener.ora修改如下所示:

# listener.ora Network Configuration File: e:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = e:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:e:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)

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

ADR_BASE_LISTENER = e:\app\Administrator

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

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

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

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

C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用的更多相关文章

  1. OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 问题处理

    OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 问题处理如下: 解决方法一:更换连接方式 config 文件配置: <add name="MASTER_DB&q ...

  2. Navicate Premium连接Oracle数据库报错

    Navicat Premium连接MySQL数据库没有问题,在连接Oracle数据库的时候报错,提示:ORA-28547:connection to server failed,probable Or ...

  3. navicat 连接oracle数据库报错:ORA-28547:connection to server failed,probable Oracle Net admin error

    链接:http://pan.baidu.com/s/1dEO9qJR 密码:ye2c 用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通 ...

  4. kettle连接oracle数据库报错,ORA-12505

    报错信息: Error connecting to database: (using class oracle.jdbc.driver.OracleDriver) Listener refused t ...

  5. python连接oracle数据库报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "解决方案

    操作系统,python3.5, oracle_11, 均为64位:plsql 正常连接. 也顺利安装了cx_oracle 6.3,但是python进行连接的时候就会报错"DatabaseEr ...

  6. 在虚拟机中连接oracle数据库报错ORA-12154,其他服务器连接无问题

    在一台服务器上使用sqlplus登录oracle数据库,cmd->sqlplus->name/passwd@orcl2登录某个数据库用户,提示ORA-12154.使用当前服务器的PLSQL ...

  7. Navicat连接Oracle数据库报错ORA-28547解决方法

    先说明下我机器的环境: 1.Win10 - 64bit 2.Navicat Premium_11.2.7  - 64bit 3.未安装Oracle数据库(包括Client也未安装) 解决方法: 1.下 ...

  8. 使用BasicDataSource连接池连接oracle数据库报错ORA-12505

    先看连接池配置: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" ...

  9. 连接oracle数据库报错:TNS-12516 TNS:listener could not find available handler with matching protocol stack解决方法

    导致此问题的可能原因为:数据库的当前会话说不满足造成的. 解决方法如下: (1)连接数据库: [localhost@oracle]$:sqlplus  /nolog sql>conn  / as ...

随机推荐

  1. Vue(js框架)

    单页技术应用:页面不会跳转,只是局部刷新,利用的是锚点原理. Vue特点:1)组件化  2)数据驱动 Vue的开始使用: 1)先引入Vue文件,引入方式和jquery类似,可以直接引入 <scr ...

  2. 小程序开发之后台SSM环境搭建(一)

    1.新建web项目 打开eclipse,选择file-->New-->Dynamic web Project ,填写项目名字,一直点击next,勾选Generate web.xml dep ...

  3. vue模板语法下集

    1. 样式绑定 1.1 class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 1.2 style绑定 v-b ...

  4. Mockito 2 让我们校验一些行为

    在下面的示例中,我们将会模拟(Mock)一个 List 列表. 这是因为绝大部分的人对列表这个接口比较熟悉(例如 add(), get(), clear() 方法). 在实际情况中,请不要 mock ...

  5. jQuery的replaceWith()函数用法详解

    replaceWith,替换元素 replaceWith() 方法将选择的元素的内容替换为其他内容. 我们先在先看一个实例 <!DOCTYPE html> <html> < ...

  6. 使用wait/notify实现生产消费模型

    public class A { private Deque<Integer> list = new LinkedList<>(); private int max = 10; ...

  7. AcWing:173. 矩阵距离(bfs)

    给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l]) ...

  8. c++ 派生类的构造函数 与 基类构造函数的关系

    <面向对象程序设计基础(第二版>李师贤等,第254页:C++语言的基本规则是:创建一个派生类的对象时,如果基类带有构造函数,则先调用基类的构造函数,然后才调用派生类的构造函数. <T ...

  9. 踩坑之SpringBoot WebSocker 部署Tomcat冲突

    启动tomcat容器,部署SpringBoot项目,启动项目报错,如下图: 看1.2的顺序就知道是WebSocket冲突了. 上网找了一下资料发现,使用@ServerEndpoint创立websock ...

  10. postgres的数据库备份和恢复

    备份和恢复 一条命令就可以解决很简单: 这是备份的命令: pg_dump -h 127/0.0.1 -U postgres databasename > databasename.bak 指令解 ...