Greetings, I'm currently working on a Java client/server app that supports multiple databases. We're trying to utilize SQLServer 2000's transaction support, and so far, it has been fighting us. SQLServer 2k has a transaction policy of locking rows and not allowing for queries to read the data prior to an uncommitted transaction's changes. Thus, we're experiencing long delays when a query blocks while waiting on a long transaction to release its row locks. SQLServer 2k's default lock timeout is -1 (a query nevers times out when waiting on a locked row) and must be set per connection ("Set LOCK_TIMEOUT <timeoutinmilliseconds>").
We're currently using OJB 1.0 rc4 and have modified the source to allow us to set the SS2k lock timeout. We've also added support for a "lock-timeout" attribute in the jdbc-connection-descriptor tag in repository_database.xml. For the setting of the lock timeout, I extended the initializeJdbcConnection method in the PlatformMsSQLServerImpl to include the above Set statement. Has anyone else had a problem regarding this issue before? Is there a better way to handle this policy in SQLServer 2000? And if not, should I submit these changes for review and possible inclusion in the next release? Thanks in advance! Best Regards, Scott Gelb Software Developer Demand Management, Inc.