C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
原因大概是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,但错误消息文本不可用的更多相关文章
- OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 问题处理
OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 问题处理如下: 解决方法一:更换连接方式 config 文件配置: <add name="MASTER_DB&q ...
- Navicate Premium连接Oracle数据库报错
Navicat Premium连接MySQL数据库没有问题,在连接Oracle数据库的时候报错,提示:ORA-28547:connection to server failed,probable Or ...
- 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是通 ...
- kettle连接oracle数据库报错,ORA-12505
报错信息: Error connecting to database: (using class oracle.jdbc.driver.OracleDriver) Listener refused t ...
- 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 ...
- 在虚拟机中连接oracle数据库报错ORA-12154,其他服务器连接无问题
在一台服务器上使用sqlplus登录oracle数据库,cmd->sqlplus->name/passwd@orcl2登录某个数据库用户,提示ORA-12154.使用当前服务器的PLSQL ...
- Navicat连接Oracle数据库报错ORA-28547解决方法
先说明下我机器的环境: 1.Win10 - 64bit 2.Navicat Premium_11.2.7 - 64bit 3.未安装Oracle数据库(包括Client也未安装) 解决方法: 1.下 ...
- 使用BasicDataSource连接池连接oracle数据库报错ORA-12505
先看连接池配置: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" ...
- 连接oracle数据库报错:TNS-12516 TNS:listener could not find available handler with matching protocol stack解决方法
导致此问题的可能原因为:数据库的当前会话说不满足造成的. 解决方法如下: (1)连接数据库: [localhost@oracle]$:sqlplus /nolog sql>conn / as ...
随机推荐
- 关于 keepalived+lvs 中参数 persistence_timeout 的说明
在keepalived+lvs的配置文件keepalived.conf中有一个选项persistence_timeout 该选项的作用:在一定时间内使来自于同一个Client的所有TCP请求被负载到同 ...
- Binding使用的属性、DataContext上下文绑定必须使用的情况
RelativeSource属性 https://blog.csdn.net/yangwenxue1989/article/details/81624240 Binding时,如果明确知道数据源的Na ...
- ValseWebninar 报告汇总
ValseWebninar为计算机视觉.图像处理.模式识别与机器学习等研究领域内的华人青年学者提供深入学术交流的舞台. 20191218:基于视觉和常识的深度推理 主持人: 主讲人: 2019 ...
- HDU 6154 CaoHaha's staff(2017中国大学生程序设计竞赛 - 网络选拔赛)
题目代号:HDU 6154 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6154 CaoHaha's staff Time Limit: 2000/1 ...
- Java Web项目案例之---登录注册和增删改查(jsp+servlet)
登录注册和增删改查(jsp+servlet) (一)功能介绍 1.用户输入正确的密码进行登录 2.新用户可以进行注册 3.登录后显示学生的信息表 4.可以添加学生 5.可以修改学生已有信息 6.可以删 ...
- 性能指标:TPS 并发数 响应时间 QPS
响应时间(RT)reponse time指系统对请求作出响应的时间.一般关注平均响应时间和最大响应时间.对于单机没有并发操作的应用系统而言,普遍认为响应时间是一个合理且准确的性能指标,但响应时间并不能 ...
- python配置文件
python有两种配置文件,file.ini和file.json 一.ini文件如下: db_config.ini [baseconf] host=127.0.0.1 port=3306 user=r ...
- OUC_Summer Training_ DIV2_#5
这是做的最好的一次了一共做了4道题 嘻嘻~ A - Game Outcome Time Limit:2000MS Memory Limit:262144KB 64bit IO For ...
- Python编程中NotImplementedError的使用
Python编程中raise可以实现报出错误的功能,而报错的条件可以由程序员自己去定制.在面向对象编程中,可以先预留一个方法接口不实现,在其子类中实现.如果要求其子类一定要实现,不实现的时候会导致问题 ...
- MVC中上传文件
与asp.net中几乎一样,使用表单提交的方式上传文件(如果是使用了第三方插件的话,那么就另当别论) @{ ViewBag.Title = "Index"; Layout = nu ...