1、首先我想知道使用.NET的System.Data.OracleClient由于是调用Oracle本地的客户端,效率是不是会很低,其次,使用这种方式,会产生一系列的编译平台问题,比如开发人员用的是32位的OracleClient,服务器上想用64位的,有没有办法。
2、使用非托管的库时,带参数执行Update语句的时候,会出现受影响的条数为0,完全找不到任何错误,也没有提示,返回的就是0行,且数据中数据未被修改。但是换成微软的OracleClient在同样的情况下返回的就会是多行,且数据中的数据被真实修改。
3、之前看的文章中,说Oracle的库比微软的要好很多,但是,出现这个问题,在网上完全搜索不到,是目前大家使用的都还是Oracle的客户端+System.Data.OracleClient么?
谢过~~~
odp.net
ODP.NET包含两个库,一个是托管的,一个是非托管的,我用的是托管的,但是,出错,怎么办
最终发现问题在没有设置command.BindByName = true;
默认情况下ODP.Net 绑定变量时,sql语句中的变量顺序必须和变量绑定顺序一致,否则Fill查不到数据,cmd.ExecuteNonQuery()返回0无法执行, 将BindByName 设为true后,sql变量顺序和绑定顺序即可不一致.
感谢原作者:http://www.cnblogs.com/gossip/archive/2011/11/27/2265230.html