none
Error cuando abro ACCESS 2007 desde mi aplicación RRS feed

  • Pregunta

  • Hola,

    He creado una aplicación en vb 2008 que corre con una base de datos ACCESS 2007. En algunos ordenadores me funciona perfectamente pero en otros no me deja acceder a la base de datos (en todos ellos tengo instalado el access 2007). El error que me da es el siguiente:

    System.Security.SecurityException: Error de solicitud de permiso de tipo 'System.Data.Oledb.OledbPermission, System.data, Version= 2.0.0.0, Culture= neutral, PublicKeyToken= b77a5c561934e089'. en system.security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark&stackMark, Boolean isPermSet)...

    ...

    Acción que generó el error:

    Demand

    El tipo del primer permiso que generó un error era

    System.Data.OledbPermission

    La zona del ensamblado que generó el error era:

    Intranet

    ¿A qué se puede deber el error?

    y por otro lado, ¿Se puede utilizar una base de datos Access que corra bajo una aplicación sin tener el office 2007 instalado? ¿Como?

    • Cambiado Enrique M. Montejo jueves, 21 de junio de 2012 18:02 acceso a datos (De:Lenguaje VB.NET)
    lunes, 11 de junio de 2012 7:37

Todas las respuestas

  • Hola:

    Como el error es SecurityException, tiene toda la pinta de que tienes la BBDD en algun recurso de la red (¿suposicion correcta?), y que en los ordenadores en que no se puede conectar (es posible) que no tengas los suficientes permisos para acceder a dicho recurso de red.

    Una comprobación facil es intentar abrir 'manualmente' la base de datos, para comprobar si tienes los suficientes permisos para trabajar con ella.

    Saludos

    lunes, 11 de junio de 2012 9:31
  • Gracias por tu respuesta,

    Sí, estás en lo cierto, la BBDD está en un recurso en red. y como te digo desde algunos ordenadores puedo acceder a la BBDD desde mi aplicación y en otros no. Acabo de probar lo que me comentas, he abierto manualmente la BBDD en uno de los ordenadores en los que no puedo acceder desde mi aplicación y si lo hago directamente desde el ACCESS 2007 (es decir, manualmente) si que puedo entrar. Pero si lo hago desde la aplicación no puedo.

    ¿Se te ocurre algo más?

    Gracias de nuevo y un saludo,

    lunes, 11 de junio de 2012 9:40
  • Abre Panel de Control > Herramientas administrativas > Microsoft .Net Framework x  Abre el nodo Runtime Security Policy >  Machine > Code Groups.

    Botón derecho en el nodo All_Code y elige "New..." para crear nuevo permiso (te aconsejo usar strong name, puedes misrar en la ayuda de .Net como añadir strong name a la solution). Al salir del configurador del Framework pincha en "Runtime Security Policy" y selecciona "Create Deployment Package"  (Tienes que seleccionar Machine Level).

    El instalador msi lo tendrás que usar en cada máquina que vaya a utilizar tu aplicación. Ejecutalo desde el disco local.

    Espero que esto te sirva,


    Saludos, Javier J

    lunes, 11 de junio de 2012 10:00
  • En algunos ordenadores me funciona perfectamente pero en otros no me deja acceder a la base de datos

    sera que las pcs dodne se produce el fallo estan usnado Win 7 ?

    porque recuerda que en Win 7 la seguridad esta aumentada, para poder escribir en Program Files, deberias cambiar el manifest

    http://howtoideas.net/how-to-force-c-application-to-only-run-as-administrator-in-windows

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 11 de junio de 2012 11:57
  • Hola Leandro,

    Yo creo que no tiene que ver con W7 ya que en los ordenadores que no me funcionan son de xp y vista (aunque tb tengo ordenadores en este SO en los que me funciona perfectamente). Por eso supongo que no tendrá que ve con el SO. Aún así he hecho lo que me has comenatado cambiando el manifest. Aún así no me funciona.

    A que se puede deber, tengo que instalar algo especial para funcionar con ACCESS 2007? Algo que en algunos ordenares lo tenga instlado y en otro no...

    lunes, 11 de junio de 2012 14:09
  • tengo que instalar algo especial para funcionar con ACCESS 2007?

    en que carpeta es que se encuantra la db cuando suce deste problema?

    has validado que se tenga acceso de escritura con el usuario que esta autenticado a la pc


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 11 de junio de 2012 14:13
  • Acabo de validar lso permisos de escritura y aún así sigue sin funcionarme, pero yo tb pienso que tenga que ver con los permisos ya que esta aplicación+BBDD la tengo en un servidor central. Si estos dos archivos (aplicación +BBDD) las saco a mi ordenador local si que me deja acceder en todos los ordenadores.

    ¿Qué puede estar fallando?

    lunes, 11 de junio de 2012 14:58