.net中调用带数组参数的oracle存储过程是不是必须调用Oracle.DataAccess.Client?我们测试了各种情况都不行1、使用安装数据库Oracle11g第2版-11.2.0.1.0 自带的odp.net时发生的错误:
The provider is not compatible with the version of Oracle client 
“Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常。
code:
string connectStr = "Data Source=EMR2;User Id=emr;Password=password;";
OracleConnection conn = new OracleConnection(connectStr);--此处报错2、数据库版本Oracle11g第2版-11.2.0.1.0
安装odp.net112012后发生的错误:code:
string connectStr = "Data Source=EMR2;User Id=emr;Password=password;";
OracleConnection conn = new OracleConnection(connectStr);
conn.open();--此处报错"ORA-12154: TNS: 无法解析指定的连接标识符"3、9i客户端,odp.net11,报错
Oracle.DataAccess.Client.Exception 提供程序与此版本的Oracle客户机不兼容
哪位知道,指点指点啊

解决方案 »

  1.   

    配置不对 你的服务名是EMR2这个吗?
      

  2.   

    zhuomingwang,你好。
    EMR2 是实例名,在pl/sql里连接是通的,用.net里的oledb连接正确,调用一般的存储过程也没问题,就是用Oracle.DataAccess.Client连接错误。
    tnsnames里面的配置
    EMR2 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.135.1.23)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = emr2.corp.a.cn)
        )
      )
      

  3.   

    quiettown,请问对客户端有什么要求吗?我9i,10,11都装过了。