读书人

DCOM + ADOConnection三层执行数据库

发布时间: 2012-03-03 15:33:02 作者: rapoo

DCOM + ADOConnection三层,执行数据库操作事务未提交?
我的程序是用的客户端用DCom连接到中间件,中间件使用AdoConnection连接到数据库。
我在中间件中写一个Create Table的语句,做法为:
1.使用TADOQuery,直接对其进行赋值,没有做其他属性设置
2.代码如下:
if ConnectDB then
begin
try
Connect_db.BeginTrans;
try
with tempUpdateQuery do
begin
Close;
SQL.Clear;
SQL.Add(vSQL);
ExecSQL;
end;
Connect_db.CommitTrans;
except
on e:Exception do
begin
OutMsg :='执行语句错误:' + E.Message;
Connect_db.RollbackTrans;
end;
end;
finally
stopdb;
end;
end;

遇到的问题:
1.如果加上事务处理的话,会一直报:无法在此会话中启动更多的事务(其他地方干干净净,没有做过事务处理)
2.不用事务处理,能正确执行,但是执行完毕后我到服务器中select 该表,发现被锁现象(或者说事务未能提交)。这是何原因呢?

[解决办法]
接分了
[解决办法]
楼主做事很细致,发帖之后还把代码组织了。
[解决办法]
中间件在注册时配置【事务】改为“不支持”或者“支持”

收藏

读书人网 >.NET

热点推荐