欢迎投稿

今日深度:

关于vs2008使用oracleclient链接oracle数据库报报错O

关于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.我提供下我的例子

测试例子

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);
        }
运行成功没有任何错误和异常。

www.htsjk.Com true http://www.htsjk.com/oracle/23206.html NewsArticle 关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate失败,返回代码为-1,但错误消息文本不可用 用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文...
评论暂时关闭