最近使用Oracle数据库,已经装上了Oracle的客户端,但是在Conn.Open的时候却有"OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用"异常
求高手解决!马上给分!
源码
public static void PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, CommandType cmdType, string cmdText, OracleParameter[] commandParameters)
        {
            //Open the connection if required
            if (conn.State != ConnectionState.Open)
                conn.Open();//异常在这个地方            //Set up the command
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            cmd.CommandType = cmdType;            //Bind it to the transaction if it exists
            //if (trans != null)
            //    cmd.Transaction = trans;            // Bind the parameters passed in
            if (commandParameters != null)
            {
                foreach (OracleParameter parm in commandParameters)
                    cmd.Parameters.Add(parm);
            }
        }

解决方案 »

  1.   

    建议先检测数据库连接字符串 : conn
      

  2.   

    试过google第一页上提到的各种办法了么
      

  3.   

    先检测数据库连接字符串 : conn
      

  4.   

    plsqldev和SqlPlus都可以连接上
    可以肯定的是,不是连接字符串的问题,因为同版本库中的文件,在其他机器上是可以访问的
      

  5.   

    你oracle版本太低了吧
    可以改成用oledb方式连接
      

  6.   

    试了一下,有人说是权限问题,我把整个文件夹的Everyone权限设置了完全控制
      

  7.   

    oracle 11g现在低吗?
    主要是同样的数据库,同样的文件,在其他同事机子上是可以运行的,我非常怀疑是oracle 客户端的问题,我把客户端的所有文件都装了,卸了装,装了卸,已经好几遍了,不起作用!
      

  8.   

    给该机的oracle的安装目录设置当前系统用户的权限为“完全控制”如果还是不行,重启后删除Microsoft Oracle Client for .Net
      

  9.   

    请教,如何删除Microsoft Oracle Client for .Net ?
      

  10.   

    首先要说的是安装了客户端不代表就行访问oracle数据库。必须配置监听。监听配好后 
    webconfig里的链接串类似:<add key="connection_string" value="User ID=system;Data Source=ORCL;Password=system;"/>
      

  11.   

    http://www.cnblogs.com/wlq2000/archive/2005/07/30/203411.html
      

  12.   

    搞定,Oracle_Home环境变量的问题