对数据库操作时的问题,难道是并发的问题?
通过一个DELPHI程序对数据库进行数据转换,先后出现过以下2种错误提示:
1.no user transaction is cuttently in progress;
2.A user transaction is already;
请问这2种情况出现是为什么?是否与多个相同进程访问数据库并做同一操作有关?有什么根治的办法吗?
问题点数:40、回复次数:4Top
1 楼njhart2003()回复于 2005-08-02 19:42:46 得分 0
没碰到过,不清楚,
楼主能否说明到底是怎样的数据转换,DDL、DML...?Top
2 楼behrman(贝尔曼)回复于 2005-08-02 20:02:15 得分 0
我所说的数据转换就是这个程序的功能,是把不同表的数据通过关联后组合成一个表的数据,类似做一个视图的功能,只不过在程序的使用中,也许有多个计算机通过程序对数据库进行数据转换。Top
3 楼njhart2003()回复于 2005-08-02 20:11:12 得分 0
楼主检查一下代码,如果只是单纯的查询而没有类似select ... for update ...这样的语句的话,单纯的查询语句即使有并发也是没有影响的,不会阻塞其他查询的。
Top
4 楼behrman(贝尔曼)回复于 2005-08-03 09:38:45 得分 0
代码里的SQL语句基本上都是先SELECT,然后再INSERT,都很简单,上述问题不是经常碰到,出现问题后,重启或者注销计算机后再运行就不会有问题,但是由于数据量大,如果中间出现一次,就前功尽弃了,所以一直在找原因,跟踪代码时却一直碰不到,所以来求助大家。Top




