2009-07-25 93 views
5

¿Alguien tiene experiencia en el uso de Access 2007 con las versiones anteriores de Access (es decir, archivos mdb)?accdb vs mdb. ¿Cuál es más rápido/mejor?

Hemos sido actualizados, pero todavía estamos usando el formato mdb. Parte de nuestro código (en particular, Docmd.TransferDatabase acImportReport) ahora es increíblemente lento.

Probé una prueba inicial y convertí nuestro cliente mdb a accdb y la base de datos de transferencia anterior parecía funcionar mejor.

Ahora me pregunto si deberíamos cortar la bala y convertir todos los demás archivos que componen la aplicación. No hay necesidad de replicación o seguridad de nivel de usuario que parecen ser las únicas limitaciones de la nueva versión de la anterior. Tenemos un cliente mdb, tres bases de datos backend y luego 3000 mdbs cada uno con un solo informe (¡no preguntes!).

¿La nueva versión funciona más rápido que la anterior, especialmente en una red que ya tiene dificultades?

+0

MDB es un formato nativo en Access 2007, por lo que un archivo MDB no es un archivo de "versión anterior." Los MDB de Access 2000, 2002, 2003 y 2007 son todos nativos de Access 2007. –

+0

Supongo que la mejora en el rendimiento vino de crear un nuevo archivo. Intente crear un nuevo MDB e importar todo en él, y mi apuesta es que funcionará más rápido que su antiguo MDB f no fin. –

+0

Hizo un nuevo mdb en 2007 e importó el lote. Aún más rápido usando el archivo accdb .... –

Respuesta

2

Haga algo nuevo en accdb (interfaz sabia); cualquier nueva base de datos crea en MS SQL Server.

Deje las cosas existentes en mdb; si está funcionando ahora, ¿por qué meterse con eso? Las actualizaciones de hardware compensarán cualquier degradación del rendimiento que experimente.

Tarde o temprano MS anunciará que dejarán de admitir mdb en su versión actual de MS Access; en ese punto, vale la pena realizar un triage y comenzar a convertir al nuevo formato. Pero no hagas que la base de datos acceda. Moverlo a algo como MS SQL Server.

La razón por la que esperaría hasta que sea forzado por MS es que es poco probable que obtenga la aprobación de los titulares de la cadena monedero para hacer esos cambios ahora; pero cuando forzaste también, sus cadenas se aflojan.

+0

Aaah. Nos encantaría movernos a SQL Server, pero estamos trabajando dentro del área de negocios en lugar del área de tecnología. Desarrollando RAD si así lo desea, estamos limitados a herramientas de escritorio como Excel y Access ... Más de 50 usuarios en un mdb de 500MB a través de una red impactante. ¡Me alegro de que no soy uno de los usuarios finales! –

+1

Digo usar ACCDB si ACCDB tiene las características que realmente necesita (como la integración Sharepoint). Si no es así, quédese con MDB incluso para proyectos nuevos, ya que puede ejecutarlo en todas las versiones anteriores de Access hasta 2000, en lugar de preocuparse por que todos obtengan sus estaciones de trabajo actualizadas a A2007. –

+0

Gracias David (y "nativo" frente a "anterior"). Todo el mundo ha sido actualizado ... y ahora están buscando tal vez obtener más RAM para todas las PC también. –

1

Dudo mucho que haya una gran mejora en el rendimiento en ACCDB frente a MDB, aunque supongo que las funciones individuales podrían ser mejores o peores. Digo esto porque el mayor cuello de botella suele estar relacionado con la red.

Sugiero ejecutar pruebas de tiempo sin embargo. Compara los dos. Sin embargo, asegúrese de que el MDB esté en formato A2007. Salga de MDB/ACCDB entre pruebas, de lo contrario, Access puede almacenar datos en caché. Ejecute la prueba varias veces y si hay diferencias importantes, vuelva a ejecutarla hasta que obtenga tres carreras más o menos al mismo tiempo.

Sólo curioso. ¿Por qué la gente hace DocMd.TransferDatabase acImportReport tanto? ¿O es parte de tus 3000 MDB con informes en ellos?

+0

Spot on. Es parte de nuestros 3000 mdbs. Tenemos una aplicación que admite una gran cantidad de informes diferentes para diferentes clientes.Estos se importan en tiempo de ejecución según el informe que se está ejecutando. Originalmente, estos eran todos en un gran mdb, pero importarlos era ridículamente lento una vez que tenías más de una conexión con esa base de datos. Tener bases de datos separadas para cada rpt fue mucho más rápido. –

+0

Creo que uno de los muchachos jugó haciendo una biblioteca/mda para todos los informes, pero sin mucha suerte. Estos informes tienen que modificarse bastante, por lo que simplemente cambiamos el informe en la red y el cliente toma el nuevo. Personalmente, no soy un gran admirador de la configuración actual ya que no podemos usar un mde, o incluso saber que todo nuestro código se compila. –

0

Una prueba rápida en una base de datos con 187 referencias académicas de mediana longitud mostró una reducción en el tamaño de 1,671,168 bytes a 1,306,624.

He aquí un artículo con algunos pros & contras:

Access File Formats: ACCDB vs MDB

Señalan con.accdb de, usted puede:

  • Incluir archivos adjuntos en su base de datos
  • Uso multivaluado campos
  • aceptan SharePoint y Outlook para confiar en estos archivos, debido a la "[i] mprovements en el modelo de seguridad de base de datos [que] permite para la validación de seguridad de los archivos de base de datos"
  • han supuesto mejoras criptografía debido al uso de la API de Windows criptográfico

He aquí un artículo M $ que le dice cómo hacer adjuntos como dat rebajarse campos de registro:

Attach files and graphics to the records in your database

El primer artículo también dice: "También hay dos limitaciones que usted debe considerar cuando se utiliza ACCDB. Las bases de datos ACCDB no admiten la seguridad o la replicación a nivel de usuario. "Hice una copia de una base de datos, y se abrió, no hay problema, incluso en un directorio diferente, por lo que no sé qué es lo que se está perdiendo en términos de replicación .

Nota:.. yo era incapaz de Guardar como para convertirlo en un archivo .accdb, tal como figura en el primer artículo que hice archivo | Guardar & publicar, y me vamos

Cuestiones relacionadas