使用System.Data.OracleClient.dll
WebConfig里配置:<add name="TestDB" connectionString="User ID=scott;Password=test123;Data Source=myConn" />
Oracle服务器在另一台机器上,我在本机装了Oracle客户端,配置了ODBC
类代码里调用数据库:
public static OracleConnection conn(string ConnString)
        {
            OracleConnection db = new OracleConnection(ConfigurationManager.ConnectionStrings[ConnString].ConnectionString);
            return db;
        }
执行连接的时候出现错误:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。
求命啊,各位大虾

解决方案 »

  1.   

    先装oracle客户端 
    1、控制面板->管理工具->数据源(ODBC)->添加数据源->选择oracle 客户端 
    Data Source Name 可以任意起名,推荐和SID一样 
    Description 描述 
    TNS Service Name 下拉菜单中会自动显示环境变量TNS_ADMIN所指目录下的tnsnames.ora文件中SERVICE_NAME的名称,也就是要连接的SID UserID 用户名 
    2、代码 
    string ConnectionString = "Data Source=orcl; User Id=SCOTT; Password=scott"; //连接字符串 
    OracleConnection conn = new OracleConnection(ConnectionString); //创建一个新连接 try 

    conn.Open(); //打开连接 
    OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from emp"; //SQL语句 
    OracleDataReader rs = cmd.ExecuteReader(); while (rs.Read()) //读取数据,如果rs.Read()返回为false的话,就说明到记录集的尾部了 

    MessageBox.Show(rs.GetString(1)); 
    } rs.Close(); 
    } catch (Exception e) 

    MessageBox.Show(e.Message); 

    finally 

    conn.Close(); 
      

  2.   

    首先先确认下连接字符串是否有问题吧,用vs2005+自动生成的就行.
    另外如果你的oracle是92i版的话对.net还有个不太爽的地方,需要你在oracle client端的安装目录里加入一个权限.
    还有楼主为什么一定要走odbc呢?
      

  3.   

    1.先在sql*plus里连通数据库。
    2.检查连接字符串,好像使用的是ODBC的连接字符串
    3. OracleConnection这个对象是ODBC的连接对象么?看着像是专用连接对象。
      

  4.   

    权限不够
    打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】;
      

  5.   

    连接字符串写错了吧
    网上有连接Oracle的例子
      

  6.   

    Oracle服务器端要不要做什么配置?我的Oracle装在另一台机器下。
    我在本机装有Oracle Client,是不是要在服务器端配置下Net服务呢?又或者本地Oracle Client装好后需要改动配置文件??