错误的.NET和Delphi数据访问选择,差点完蛋

我在以前的公司,有写过几个工作用的辅助工具软件,是Delphi6写的。前段时间,他们委托我扩展一些新功能。我想最近常用.NET,直接用.NET2.0来做倒是挺方便的,于是就接下这个任务。

前期觉得难点的地方都解决了,没想到,最终还是卡在觉得最没有问题的数据库访问上。

旧的数据库是采用Paradox的数据库格式,想来Ado.NET也支持,等程序写好后发现,完了,插入3000个数据居然象死机一样,这怎么行?七改八改,最终没招,测试结果,插入3000个数据行要15分钟左右,这个表很小,总共就8个字段,每个字段都不超过10个字节。没招,换OleDb,结果一样;再换Odbc,还是一样;直接用Command,还一样。唯有SELECT语句很快,而Delete和Insert都一样的慢,每秒能操作4条就很不错了。真见鬼了,操作Access和Sql2000时怎么那么快?

最后逼得没法,只好用C++Builder6写了一个用BDE控件操作数据表的ActiveX组件供.NET使用,好家伙,3000条记录只要10秒就搞定了,这还是通过ActiveX接口一条一条送过去,那边再一条一条插入的;足足快了60倍。

我现在在考虑是否全盘推翻,完全用C++Builder6/Delphi来写了。

看来,Borland的数据表还是要用Borland的接口来做比较适合。

posted @ 2006-05-15 14:28  沐枫  阅读(721)  评论(5编辑  收藏  举报