LCConnect

We are currrently using LCConnect in a LS agent to connect to a SQL database on our Domino Website in realtime. However, if the table we are trying to access is locked for a certain time, it causes our server to crash.

Does anyone know how to set a timeout for this method?

Subject: Commit Changes / Close Connection

Faye,

Updates to SQL Server must be committed or else tables will be locked. Before we used connection pooling, if an SQL query made updates to tables in SQL Server, those changes were automatically committed when we closed the connection (LCConnection in LotusScript). With connection pooling now active, connections don’t go away, so when a program opens a table for updates (inserting, changing, or deleting rows), the table stays open and locked waiting for the changes to be committed preventing all other programs from accessing the table, even for read-only activities.

In LotusScript: Call con.Action(LCACTION_COMMIT)

In Java: con.commit();

where “con” is the variable representing the connection object. Note that this rule applies even when calling stored procedures that do their own commits (must have something to do with the transaction being initiated from Notes).

Ken

Subject: LCConnect

A possibility may be to look at the SQL Server connection client parameters on the server itself for a timeout setting and adjust there. I don’t believe LC LSX allows for a timeout setting.

Subject: LCConnect

You didn’t mention what version of Domino you’re running on your website, or what server platform you’re using.

We also are using LS to get data from a backend database (using LSXODBC) and identified a couple issues in 6.5.4 that would cause a Domino server crash if the backend database was locked, or if the connection ‘timed out’ - one is fixed in 7.0.2, one will be fixed in 7.0.3 - however, we were able to get a hotfix for both for 6.5.4.

You might try upgrading - or at least open a ticket with Lotus - the server shouldn’t be crashing.