请关注 ADO Transaction 问题
系统技术结构是 :
DB+COM+WEB(SYBASE +ODBC +ADO+IIS5+IE 服务器 WIN2000)
COM中采用了ADO的Transaction ,当两个用户同时提交运行这个COM时直接其中一个进程超时,另外一个才会执行(超时之前 任务管理器中,CPU使用率<3%,一个进程停止之后CPU使用率>90%),
主要程序:
implements COM
Function SaveData()
Dim DataConnect as new ADODB.connection
......
DataConnnect.BeginTrans
ON ERROR GOTO ERROR_HANDEL:
........
DataConnect.Excute (.....) 'eg. UPATE DELETE SELECT INSERT
........
DataConnect.CommitTrans
Exit function
ERROR_HANDEL:
dataconnect.Rollback
END Function
implements COM
Function SaveData()
Dim DataConnect as new ADODB.connection
......
DataConnnect.Excute "BEGIN TRANSACTION", 0, adCmdText
ON ERROR GOTO ERROR_HANDEL:
........
DataConnect.Excute (.....) 'eg. UPATE DELETE SELECT INSERT
........
DataConnect.Execute "COMMIT", 0, adCmdText
Exit function
ERROR_HANDEL:
DataConnect.Execute "ROLLBACK", 0, adCmdText
END Function
这两种写法都会出现这种情况