Duda sobre MDB e IIS5

03/11/2003 - 22:42 por Gabriel South | Informe spam
Hola,

Tengo una pregunta sobre la configuracion del IIS5 (con windows xp).

Resulta que tengo desarrollado un website que usa una base access, estaba
todo trabajando con PWS con win 98 hasta que mudè a IIS5 y windows xp (en mi
pc).
El server asp funciona bien, aunque tengo un problema al querer modificar la
base de datos (mdb) porque cada vez que la aplicacion quiere hace un update,
insert o delete me da un error que dice:

Microsoft JET Database Engine (0x80004005)
La operacion debe ser una consulta actualizable.

Supongo que tiene algo que ver con la configuracion de seguridad del IIS,
porque haciendo las modificaciones a la base de datos fuera del IIS,
funciona bien (uso un programa que se conecta directamente sin odbc, al
igual que la aplicacion web).

Haciendo click con el boton derecho en "propiedades" del directorio virtual
donde esta la pagina, estan activadas las opciones de lectura y
grabacion

¿Alguien tiene una idea que es lo que esta faltando para que funcione
correctamente la grabacion de la base de datos?.
¿Sera que la cadena de conexion que tenia, y funcionaba en PWS ahora no
funciona mas con el IIS5???

El sitio estaba on-line en el ex-proveedor "dotnetplayground" (hasta que
cerró) y alli funcionaba a la perfeccion (ellos corrian IIS6, si mal no
recuerdo)



Gabriel

Preguntas similare

Leer las respuestas

#1 Jaime Pons
04/11/2003 - 03:43 | Informe spam
Puede que estés abriendo la consulta SQL con algún tipo de bloqueo, esto
suele pasar, por ejemplo, cuando intentas insertar o modificar campos de una
tabla mediante Recordsets, utilizando parámetros de lectura.

Ejemplo:

Rs.open Sql, Conn, ,1 -> Lectura

Cuando tendría que ser:

Rs.open Sql, Conn, ,3 -> Escritura

Los tipos de bloqueo existentes son (válido para el segundo número, es
decir:

1 - ReadOnly (adLockReadOnly): Sólo lectura. Es el tipo de bloqueo
predeterminado, que significa que el RecordSet es de lectura únicamente y
los registros no pueden modificarse.
2 - Pessimistic (adLockPessimistic): Pesimista. Cuando se agrega un
registro, el proveedor tratará de bloquear el registro para garantizar la
edición correcta del registro. Esto se realiza generalmente mediante el
bloqueo del registro en el momento en que se inicia su edición.
3 - Optimistic (adLockOptimistic): Optimista. El registro no se bloquea
hasta que se envían los cambios del registro al almacén de datos por medio
de un método Update (vamos, el rs.Update)
4 - Batch Optimistic (adLockBatchOptimistic): Optimista por lotes. El
bloqueo optimista por lotes permite la modificación múltiple de registros y
los registros sólo se bloquean cuando se llama al método UpdateBatch




"Gabriel South" escribió en el mensaje
news:
Hola,

Tengo una pregunta sobre la configuracion del IIS5 (con windows xp).

Resulta que tengo desarrollado un website que usa una base access, estaba
todo trabajando con PWS con win 98 hasta que mudè a IIS5 y windows xp (en


mi
pc).
El server asp funciona bien, aunque tengo un problema al querer modificar


la
base de datos (mdb) porque cada vez que la aplicacion quiere hace un


update,
insert o delete me da un error que dice:

Microsoft JET Database Engine (0x80004005)
La operacion debe ser una consulta actualizable.

Supongo que tiene algo que ver con la configuracion de seguridad del IIS,
porque haciendo las modificaciones a la base de datos fuera del IIS,
funciona bien (uso un programa que se conecta directamente sin odbc, al
igual que la aplicacion web).

Haciendo click con el boton derecho en "propiedades" del directorio


virtual
donde esta la pagina, estan activadas las opciones de lectura y
grabacion

¿Alguien tiene una idea que es lo que esta faltando para que funcione
correctamente la grabacion de la base de datos?.
¿Sera que la cadena de conexion que tenia, y funcionaba en PWS ahora no
funciona mas con el IIS5???

El sitio estaba on-line en el ex-proveedor "dotnetplayground" (hasta que
cerró) y alli funcionaba a la perfeccion (ellos corrian IIS6, si mal no
recuerdo)



Gabriel


Respuesta Responder a este mensaje
#2 Gabriel South
04/11/2003 - 05:08 | Informe spam
Mi cadena de conexion en la siguiente


Set oConn = Server.CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;"
strConnect = strConnect & "Data Source=" &
Server.MapPath("\clasificados\data\clasificados.mdb") & ";"
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.CursorType=3
oRs.CursorLocation=2
oRs.LockType=3

Por ejemplo, estoy actualizando la BD de la siguiente forma:

sSql="Update usuarios Set ult_ingreso=#" & formatdatetime(now,2) & "#,
cant_ingresos=(cant_ingresos + 1)"
sSql=sSql & " where codigo=" & codigo
oConn.Execute(sSQL)

No estoy utilizando un recordset para esto, aunque me da el error que te
comenté.

Tengo otra parte que hago un insert usando un Recordset y da el mismo
error..


' Recordset object
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open "usuarios", strConnect, 2, 2 ' <--
SUPONGO que aqui iría un "3" -->

' Adding data
rs.AddNew
rs("nombre") = nombre
rs("direccion")=direccion
rs("localidad")=localidad
rs("provincia")=provincia
rs("telefono")=telefono
rs("email")=email
rs("password")=password
rs("activo")="N"
rs("fecha_alta")=fechaalta
rs("ult_ingreso")=fechaalta
rs("cant_ingresos")=1
rs("clave_activacion")=active
rs.Update

rs.Close
Set rs = Nothing


No se que puede ser, porque corriendo en PWS funcionaba bien, y tambien en
el web site que originalmente estaba.. supongo que serà alguna
configuracion del IIS?????????... no se..

Voy a seguir probando.Gabriel.





"Jaime Pons" escreveu na mensagem
news:OKJ$
Puede que estés abriendo la consulta SQL con algún tipo de bloqueo, esto
suele pasar, por ejemplo, cuando intentas insertar o modificar campos de


una
tabla mediante Recordsets, utilizando parámetros de lectura.

Ejemplo:

Rs.open Sql, Conn, ,1 -> Lectura

Cuando tendría que ser:

Rs.open Sql, Conn, ,3 -> Escritura

Los tipos de bloqueo existentes son (válido para el segundo número, es
decir:

1 - ReadOnly (adLockReadOnly): Sólo lectura. Es el tipo de bloqueo
predeterminado, que significa que el RecordSet es de lectura únicamente y
los registros no pueden modificarse.
2 - Pessimistic (adLockPessimistic): Pesimista. Cuando se agrega un
registro, el proveedor tratará de bloquear el registro para garantizar la
edición correcta del registro. Esto se realiza generalmente mediante el
bloqueo del registro en el momento en que se inicia su edición.
3 - Optimistic (adLockOptimistic): Optimista. El registro no se bloquea
hasta que se envían los cambios del registro al almacén de datos por medio
de un método Update (vamos, el rs.Update)
4 - Batch Optimistic (adLockBatchOptimistic): Optimista por lotes. El
bloqueo optimista por lotes permite la modificación múltiple de registros


y
los registros sólo se bloquean cuando se llama al método UpdateBatch



>
"Gabriel South" escribió en el mensaje
news:
> Hola,
>
> Tengo una pregunta sobre la configuracion del IIS5 (con windows xp).
>
> Resulta que tengo desarrollado un website que usa una base access,


estaba
> todo trabajando con PWS con win 98 hasta que mudè a IIS5 y windows xp


(en
mi
> pc).
> El server asp funciona bien, aunque tengo un problema al querer


modificar
la
> base de datos (mdb) porque cada vez que la aplicacion quiere hace un
update,
> insert o delete me da un error que dice:
>
> Microsoft JET Database Engine (0x80004005)
> La operacion debe ser una consulta actualizable.
>
> Supongo que tiene algo que ver con la configuracion de seguridad del


IIS,
> porque haciendo las modificaciones a la base de datos fuera del IIS,
> funciona bien (uso un programa que se conecta directamente sin odbc, al
> igual que la aplicacion web).
>
> Haciendo click con el boton derecho en "propiedades" del directorio
virtual
> donde esta la pagina, estan activadas las opciones de lectura y
> grabacion
>
> ¿Alguien tiene una idea que es lo que esta faltando para que funcione
> correctamente la grabacion de la base de datos?.
> ¿Sera que la cadena de conexion que tenia, y funcionaba en PWS ahora no
> funciona mas con el IIS5???
>
> El sitio estaba on-line en el ex-proveedor "dotnetplayground" (hasta que
> cerró) y alli funcionaba a la perfeccion (ellos corrian IIS6, si mal no
> recuerdo)
>
>
>
> Gabriel
>
>


Respuesta Responder a este mensaje
#3 Jaime Pons
04/11/2003 - 05:30 | Informe spam
Respuesta Responder a este mensaje
#4 JLF
04/11/2003 - 11:28 | Informe spam
Debes establecer los permisos de seguridad en los directorios que necesites.
Supongo que anteriormente usarias Windows 9x cuyos permisos de seguridad son
prácticamente nulos. Windows XP establece grupos y usuarios a los que asigna
determinados privilegios (por defecto) de todo tipo, configuraciones del
sistema, acceso a determinadas carpetas, etc.
Como digo, por defecto cada una de las carpetas del sistema tiene sus
permisos donde se establecen los usuarios pueden acceder y con qué
privilegios,muchas de ellas los heredan de las carpetas "madre" al igual que
los archivos, pero es algo modificable.
Te comento esto por si lo desconocias, si me equivoco siento el rollo ;).
Debes iniciar una sesión como administrador, ir al fichero .MDB y, pinchando
con el derecho en propiedades, establecer el usuario "IUSR_NombreMáquina"
con privilegios de escritura.
De todas formas puedes ir al grupo de xp
(news://microsoft.public.es.windowsxp) e informarte más detenidamente.

Un saludo.


"Gabriel South" escribió en el mensaje
news:
Hola,

Tengo una pregunta sobre la configuracion del IIS5 (con windows xp).

Resulta que tengo desarrollado un website que usa una base access, estaba
todo trabajando con PWS con win 98 hasta que mudè a IIS5 y windows xp (en


mi
pc).
El server asp funciona bien, aunque tengo un problema al querer modificar


la
base de datos (mdb) porque cada vez que la aplicacion quiere hace un


update,
insert o delete me da un error que dice:

Microsoft JET Database Engine (0x80004005)
La operacion debe ser una consulta actualizable.

Supongo que tiene algo que ver con la configuracion de seguridad del IIS,
porque haciendo las modificaciones a la base de datos fuera del IIS,
funciona bien (uso un programa que se conecta directamente sin odbc, al
igual que la aplicacion web).

Haciendo click con el boton derecho en "propiedades" del directorio


virtual
donde esta la pagina, estan activadas las opciones de lectura y
grabacion

¿Alguien tiene una idea que es lo que esta faltando para que funcione
correctamente la grabacion de la base de datos?.
¿Sera que la cadena de conexion que tenia, y funcionaba en PWS ahora no
funciona mas con el IIS5???

El sitio estaba on-line en el ex-proveedor "dotnetplayground" (hasta que
cerró) y alli funcionaba a la perfeccion (ellos corrian IIS6, si mal no
recuerdo)



Gabriel


Respuesta Responder a este mensaje
#5 urko
04/11/2003 - 11:46 | Informe spam
Haber si consigo ayudarte, mas bien explicarme como lo tuve que hacer.
las opciones no se si seran laas correctas, estoy haciendo memoria.
Es un tema de permisos del directorio, y de la bd
al directorio donde esta la BD le quite en seguridad la casilla marcada
luego le di permisos de escritura en el iss y herede permisos en
herramientas.
echa un vistazo el tema de heredar permisos porque de hay venia todo.

De todas formas hoy lo miro en casa y haber si mañanba no te han contestado
y te puedo decir algo mas claro.
saludos
urko

"Gabriel South" escribió en el mensaje
news:
Hola,

Tengo una pregunta sobre la configuracion del IIS5 (con windows xp).

Resulta que tengo desarrollado un website que usa una base access, estaba
todo trabajando con PWS con win 98 hasta que mudè a IIS5 y windows xp (en


mi
pc).
El server asp funciona bien, aunque tengo un problema al querer modificar


la
base de datos (mdb) porque cada vez que la aplicacion quiere hace un


update,
insert o delete me da un error que dice:

Microsoft JET Database Engine (0x80004005)
La operacion debe ser una consulta actualizable.

Supongo que tiene algo que ver con la configuracion de seguridad del IIS,
porque haciendo las modificaciones a la base de datos fuera del IIS,
funciona bien (uso un programa que se conecta directamente sin odbc, al
igual que la aplicacion web).

Haciendo click con el boton derecho en "propiedades" del directorio


virtual
donde esta la pagina, estan activadas las opciones de lectura y
grabacion

¿Alguien tiene una idea que es lo que esta faltando para que funcione
correctamente la grabacion de la base de datos?.
¿Sera que la cadena de conexion que tenia, y funcionaba en PWS ahora no
funciona mas con el IIS5???

El sitio estaba on-line en el ex-proveedor "dotnetplayground" (hasta que
cerró) y alli funcionaba a la perfeccion (ellos corrian IIS6, si mal no
recuerdo)



Gabriel


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida