Sección de códigos , trucos y ejemplos para visual basic


476 - Hacer upgrade de una base de datos

<Volver> - Anterior - Siguiente



 

 

Contenido

 

 

 

 

 

 


Hacer Update de la estructura de una base de datos

Código fuente realizado en vb 6.0 , enviado por Jorge Pompé, para hacer un update de la estructura de una base de datos existente, utilizando Ado y Adox

Con este código tomamos la estructura de una base de datos Access 2000 e insertamos las tablas, campos e indices que no existan en otra base de datos ( Es muy útil para hacer upgrade de una bd )

Supongamos que en una primer versión usamos los campos , "nro" y "nombre" de la tabla clientes, y en una segunda versión del mismo soft usamos esos campos pero agregamos 2 columnas a esa tabla ( apellido, y dirección)

Lo que hace el código es encontrar estos dos campos nuevos en la nueva base de datos y crearlos en la bd vieja

Cuando los nuevos campos son 2 o 3 no sería tanto el problema, pero cuando en mi caso la base de datos de mi aplicación tiene 109 campos nuevos ... sería terrible crearlos a mano en cada cliente, y mucho menos que los cree el cliente ¿ se imaginan?

Bueno con este código resolvemos eso, me llevo 2 dias hasta que termino andando sin errores

 

Descripción :

Primero se ubica la base de datos OLD (en teoría la que tiene el cliente con datos cargados)

Después ubica la base de datos NEW (la nueva versión de la base .. exactamente igual a la OLD pero con mas campos y tablas )

1er paso : buscar las tablas inexistentes en base OLD ----> ACCION --> Crear tablas en base de datos Old

2do Paso : buscar campos inexistenes en OLD --> ACCION --> crear dichos campos en OLD

3ro : Buscar Indices inexistentes en OLD ---> ACCION --> crear los índices en OLD

Después de todo este proceso ya tenemos la bd OLD con la nueva estructura, para nuestra versión 2 de nuestro programilla en cuestión.

Solo faltaría agregar los datos si es que hace falta en los nuevos campos pero eso sabemos como se hace.

En cuando a los datos en la base de datos old no se pierden, solo cambia su estructura

El ejemplo mas claro es el siguiente :

Tengo un programa con una base de datos que contiene una tabla (productos campos nro y precio)

Y el cliente me pide que además de precio contenga precio2 y precio3

Con este código creamos los campos en la bd vieja que no existan, y podremos correr nuestro nuevo .exe para trabajar con esos campos.

Nota: El código fuente utiliza la referencia a ADO Y ADOX ... así que hay que agregar las referencias

En cuanto a cuando busco campos inexistentes, loopeo los campos desde un listbox el cual se carga con ADO porque si recorremos los campos con ADOX desde el objeto FIELDS se recorren en forma alfabetica, y nos quedarían mal incertados en la BD OLD.

Bueno espero que a alguen le sirva

Descargar

 

 


Hacer DUMP en una Base de Datos Access

El siguiente código sirve para hacer DUMP de una Base de Datos Access, así como en mySql, tenemos el DUMP que nos crea las instrucciones INSERT INTO del volcado de todos los datos de una Tabla, con este código hacemos lo mismo.

Seleccionamos la o las Tablas y los Campos que queramos hacer el archivo DUMP y nos genera un archivo .TXT el cual contiene todo el código SQL para cargar una tabla desde cero con los mismos datos.

Es muy útil a la hora de desarrollar nuestro programa, cuando por ejemplo tenemos la tabla PROVINCIAS, en vez de instalar la base de datos ya cargada hacemos que al terminar el instalador ejecute un .exe personalizado que lea el archivo .txt y ejecute línea por línea en un objeto Command de ADO.

Si la cantidad de datos son 2 o 3 es mas fácil hacerlo a mano, pero cuando tenemos muchos datos es medio tedioso, con este ejemplo y un poco de tiempo para adaptarlo a nuestro sistema resolvemos el problema rápido. Además es muy útil combinar este código con el de la entrega anterior "UPDATE BASES ACCESS". Podríamos crear la NuevaTabla en la BD existente y después ejecutar el archivo DUMP para llenarla.

En el código hay dos formularios


El proceso sería el Siguiente:

FormDumpAccess

1-----> Seleccionar la BASELLENA.MDB
2----->Tildar las Tablas
3------>Tildar los Campos
4-------> Generar el archivo DumpSql.txt

FormDumpFromFile

1------> Seleccionar la BASEVACÍA.MDB
2------> el Archivo DumpSql.txt (antes generado)
3------> Ejecutar líneas del DumpSql.txt

 

Un Saludo

Espero que a alguien le sirva

Descargar proyecto - Dump Access

 


Recursos Visual basic 6.0



Buscar en Recursos vb