Cita: No se para que sea esto
'rs.CursorType = adOpenKeyset
'rs.LockType = adLockOptimistic
son tipos de cursores (Un cursor corresponde a un tipo de restricción aplicable al Recordset, y que señala la forma en que se podrá recorrer este objeto. Dependiendo de cómo se configuren las propiedades del tipo de cursor del objeto Recordset, se puede recorrer y actualizar los registros) y de cerrojos(Los cerrojos deben ser utilizados casi obligatoramente en Recordset que hacen referencia a bases de datos con alta concurrencia de usuarios. Mediante la utilización de estos cerrojos podremos controlar el tipo de acceso que le daremos a los demás usuarios cuando alguien ya se encuentre modificando el Recordset. )por ejemplo:
adLockOptimistic - La tabla sólo será bloqueada a los demás usuarios mientras se ejecute una operación Update. De esta forma la tabla se bloqueará durante mucho menos tiempo que con el método anterior.
adOpenKeyset - Permite movernos hacia delante y atrás. Permite observar las modificaciones en los datos del Recordset , no así si existen ingresos de nuevos registros.
por otro lado porque no intenentas ésta conexion para tu base de datos usando Jet:
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/dirdb/librovisitas.mdb")
set conn = Server.Createobject("adodb.connection")
conn.open strconn
Solo espero que estre trabajando sin DSN . .
Saludos