关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理员身份,这些都试过了没有用,查了好久还是没有解决问题,只好换一种方式链接oracle数据了。
我使用的是ODAC方式链接oracle数据库,这样就不需要安装oracle客户端了,我的操作步骤如下:
1.从[url=http://download.oracle.com/otn/other/ole-oo4o/ODTwithODAC1110621.zip?AuthParam=1427792567_926a5eb7e7f7456724673afbdb80c825][/url]下载安装ODAC安装文件,因为我需要安装文件下面的几个DLL,下载下来的文件为ODTwithODAC1110621.zip 压缩文件。
2.我们解压之后里面有安装setup.exe.点击执行,之后弹出一个dos界面,等待几十秒之后弹出安装界面。按提示点击下一步完成安装。到90%的时候安装会比较慢。
3.安装完之后我们在安装路径下(我的是E:\app\Administrator)可以找到oci.dll,ociw32.dll,orannzentr11,orannzmcs11,orannzsbb11,oraocci11,oraociei11,orasql11.dll,orasqlplusic11,sqora32,sqresja,就这么多DLL,最关键的一个DLL是在(我的是E:\app\Administrator\odp.net\bin)路径下里面有两个文件夹,你对应自己的.Net Framework 选择Oracle.DataAccess.dll。
4.将上面提到的DLL拷贝到DeBug的路径下面,我的asp.net程序,我拷贝到了bin目录下面
5.重新生成解决方案,写段使用Oracle.DataAccess.Client方式链接Oracle的方式试一下,是否可以链接成功。
6.我提供下我的例子
[code=csharp] 测试例子[/code]
public void connByOracleClient()
{
string connString = @"user id=XXXXpassword=XXXX;Data Source=(DESCRIPTION ="
+ "(ADDRESS = (PROTOCOL = TCP)(HOST = XX.xx.xx.xx)(PORT = 1521))"
+ " (CONNECT_DATA ="
+ " (SERVER = DEDICATED)"
+ " (SERVICE_NAME = xx)"
+ "))";
OracleConnection conn = new OracleConnection(connString);
conn.Open();
string sql = "select * from xx"; OracleCommand comm = new OracleCommand(sql, conn);
OracleDataReader rdr = comm.ExecuteReader();
while (rdr.Read())
{
string s = rdr.GetString(5);
}
运行成功没有任何错误和异常。
关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用的更多相关文章
- C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
原因大概是OracleOraDb11g_home1TNSListener服务没启动的原因 步骤一.停止并重新启动OracleOraDb11g_home1TNSListener服务,试一下是否可行. 如 ...
- 记一次 net 使用 data.oracleclient 使用错误OCIEnvCreate 失败, 返回代码为-1
前提: 公司除了领导和开发人员具有管理员权限,其他人员使用的都是域账号. 过程: 应要求开发一个 winfrom项目,使用data.oracleclient 本地开发,调试无误,放到服务器共享域用户 ...
- 有关.NET链接Oracle数据库,使用连接池pooling=true时问题
.net链接oracle数据库时,当链接字符串中pooling=true时,视图结构变更时程序报错问题,还请高手指教 现象: 链接字符串: 注意:这里pooling=true: 测试视图: 执行的SQ ...
- python链接oracle数据库以及数据库的增删改查实例
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
- 历尽磨难之PL/SQL链接Oracle数据库
说起来都是泪啊,上司布置的任务需要远程连接Oracle数据库,说实话这又是我人生中的第一次.我听到以后觉得不是什么大问题,然而我错了..错的很厉害! 我搞了一天一夜才弄好,这里面原因有很多,大体来讲还 ...
- Oracle 远程链接oracle数据库服务器的配置
远程链接oracle数据库服务器的配置 by:授客 QQ:1033553122 原理: 一.Oracle客户端与服务器端的通讯机制 1.OracleNet协议 如下图所示,Oracle通过Oracle ...
- 链接oracle数据库 生成表对应的javabean
package com.databi.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOExc ...
- Java JDBC链接Oracle数据库
package com.test.test; import java.io.FileInputStream;import java.io.FileNotFoundException;import ja ...
- Python链接Oracle数据库
说明:以下所需安装的所有软件版本必须跟系统一致,即系统是64位,软件就得是64位,否则会出现各种链接报错的情况. 现以64位系统,python 3.6.5 64位为例: (一)安装cx_Oracle ...
随机推荐
- (转载)常用JS加密编码算法 五:SHA1算法
(转载)http://neil-yang.iteye.com/blog/703470 /* * A JavaScript implementation of the Secure Hash Algor ...
- java Enumeration用法
Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法. 在Enumeration中提供了方法hawMoreElement()来判断集合中是束 ...
- HDU-1019 Least Common Multiple
http://acm.hdu.edu.cn/showproblem.php?pid=1019 Least Common Multiple Time Limit: 2000/1000 MS (Java/ ...
- Datable 详解,及用法
一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: Dat ...
- JavaScript高级程序设计58.pdf
15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...
- Poj 2528-Mayor's posters 线段切割
题目:http://poj.org/problem?id=2528 Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total ...
- java 学习笔记4
(1) 线程的强制运行 先看线程强制运行的实例 ,再解释程序中是如何让程序强制运行的 public class ThreadTest1 implementsRunnable { public ...
- 循环中continue和break的区别
continue是指跳出本次循环 进入下次循环 再来一次 break是指循环结束 再也不来了 可以用一个广告来解释这个区别 这是continue 房:Hi 郭:是你啊 房:我订的书到了吗 房:啊!对了 ...
- C++ 让控制台运行到最后按下回车键才结束的3种方法
初学C++,弄懂了3种在控制台最后需要按回车键才退出返回编辑框的方法 1.最简单的编译生成后,通过Ctrl+F5运行即可(推荐自己调试的时候用,因为程序在别人那里是一闪而过的) 2.先添加头文件“#i ...
- 3.3FactoryMethod——工厂方法
意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.FactoryMethod使一个类的实例化延迟到其子类. 其实在抽象工厂模式中,经过改进后的模式就是工厂方法模式,所以不多说了,上UML图 ...