we have developed our application with D2K as the front end and MS-SQL6.5 server as the database. We are trying to migrate the application to MS-SQL7.0 server as the database.
The following are the limitations we are facing
1) It has been seen that whenever an Insert statement is executed against a table, the table is getting locked and it is not possible to execute subsequent DML statements until the insert lock on the table has been released.
2) Whenever a particular row is selected, then that row is getting locked and it is not able to select the same row again.
From these two observations, we came to a conclusion that in SQLSERVER 6.5, process-id will be assigned for a Batch and the LOCK will be created for the batch and hence two users cannot simultaneously commit the transaction and in SQLSERVER 7.0 each DML Statement in a Batch is given a process-id and the LOCK will be created for each DML Statement, the LOCK will be released only when a commit statement is issued. So the DML Statements which refer to the table that has been locked will be in a deadlock situation. That is the reason why the system is getting hanged.
please post us with a possible solution for the above situation at the earliest.
With warm regards
Soft Solutions Pvt. ltd.