ADO.NET数据库异步操作的性能分析

来源:互联网 发布:centos6.8网络配置 编辑:程序博客网 时间:2024/05/16 11:41

今天有人问我一个问题,就是数据库的异步访问,我们做的是mes用的是oracle数据库,于是我就尝试写了一下代码,发现一个问题,我们常用的命名空间ado。net
sing System.Data.SqlClient;和using System.Data.OracleClient;中都是继承DbConnection, ICloneable但是System.Data.SqlClient可以用
SqlCommand cmd = new SqlCommand(sqlString, conn);
             mConnection.Open();
             mWatch.Start();
             AsyncCallback callBack = new AsyncCallback(HandleCallback);
           cmd.BeginExecuteReader(callBack,cmd);
并于直接访问数据库的查询的时间进行比较用异步的话可以达到1个毫秒就可以访问出数据,直接查询的话基本是5,6个毫秒返回数据,下面测试下oracle
而我们去用using System.Data.OracleClient去实现的时候确发现cmd.BeginExecuteReader报错,
            OracleConnection mConnection = new OracleConnection();
            OracleCommand cmd = new OracleCommand(sqlString, conn);
            mConnection.Open();
            mWatch.Start();
            AsyncCallback callBack = new AsyncCallback(HandleCallback);
            cmd.BeginExecuteReader(callBack, cmd);

 OracleCommand就没有BeginExecuteReader方法仔细找啦下确实没有。看来微软的东西还是兼容他自己,难怪很多人放弃时使用using System.Data.OracleClient,要么用oracle自己提供的dll要么使用其他的
0 0
原创粉丝点击