Roleigh Martin writes:
 > We have a DBI perl program that after about 5,000 deletes we get this
 > error message -- something similar happened with another program that did
 > about 5,000 updates.  The update program worked around the problem by
 > removing use of the second database handle.  The program logic basically
 > has a parent SQL select command that uses one database handle to get a
 > list of unique index keys of records to update, then inside a while fetchrow
 > next record loop, it does the update or delete for only one database record
 > at a time to minimize database locking.

I answered this on the other list where you posted - did you not see
that message?

Anyway - if the select and the delete/update happen on the same tables
you risk deadlocks with the algorithm you are using.

 > This is the error message:
 > 
 > DBD::Sybase::db prepare failed: OpenClient message: LAYER = (6) ORIGIN = (8)
 > SEVERITY = (5) NUMBER = (1) Message String: ct_connect(): directory service
 > layer: internal directory control layer error: There was an error encountered
 > while binding to the directory service.

My guess is that you are opening/closing a *large* number of
connections. There is a known memory leak associated with that (I'm
not sure if it's in DBD::Sybase or OpenClient). I suspect that this is
what is the source of the problem.

Michael
-- 
Michael Peppler - Data Migrations Inc. - [EMAIL PROTECTED]
http://www.mbay.net/~mpeppler - [EMAIL PROTECTED]
International Sybase User Group - http://www.isug.com
Sybase on Linux mailing list: [EMAIL PROTECTED]

Reply via email to