0% encontró este documento útil (0 votos)
29 vistas3 páginas

Comparar Estructuras de Bases de Datos SQL

Este documento describe una clase llamada sqldata que permite comparar las estructuras de tablas entre dos bases de datos y detectar diferencias como tablas, campos y tipos de datos que hayan cambiado. Explica cómo crear un formulario con un botón para ejecutar la comparación y mostrar los resultados. También cubre cómo usar sqldata para aplicar cambios automáticamente o crear procedimientos para sincronizar tablas, índices y desencadenantes entre las bases de datos.

Cargado por

Pablo Gounis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como RTF, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas3 páginas

Comparar Estructuras de Bases de Datos SQL

Este documento describe una clase llamada sqldata que permite comparar las estructuras de tablas entre dos bases de datos y detectar diferencias como tablas, campos y tipos de datos que hayan cambiado. Explica cómo crear un formulario con un botón para ejecutar la comparación y mostrar los resultados. También cubre cómo usar sqldata para aplicar cambios automáticamente o crear procedimientos para sincronizar tablas, índices y desencadenantes entre las bases de datos.

Cargado por

Pablo Gounis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como RTF, PDF, TXT o lee en línea desde Scribd

Solo disponible con licencia BLUE

Sqldata permite comparar estructuras de tablas de 2 bases de datos, esto será útil cuando ustedes
creen cambios en la estructura de los datos en su computadora de desarrollo y cuando van al
cliente , saber que diferencias hay en el momento, para poder modificar la base de datos con su
correspondiente administrador de datos

La clase mostrara:

Tablas no creadas

Cambios de nombres de campos

Campos nuevos y campos sobrantes

Cambios en el ancho o cantidad de decimales de los campos

Cambios en si permite nulos o no un campo

Cambios en el orden en los que aparecen los campos (opcional)

Para que funcione debe crearse un formulario en el programa del tamaño que permita un browse
de una tabla y un solo botón “comparar”

Dentro del botón se colocara lo siguiente


LOCAL vcadtablas
LOCAL osqldata as sqldata OF [Link]
osqldata=CREATEOBJECT("[Link]")

TEXT TO vcadtablas NOSHOW PRETEXT 15


clientes,
detalle,
correlativos,
correos
ENDTEXT

[Link](_screen,"1",thisform,vcadtablas,.F.,”estructura_sql
[Link]”)

La clase mostrara
Se puede tambien comparar bases de datos con dbfs, o dbf con dbfs

Para eso agregue .T. al final del metodo


LOCAL vcadtablas
LOCAL osqldata as sqldata OF [Link]
osqldata=CREATEOBJECT("[Link]")

TEXT TO vcadtablas NOSHOW PRETEXT 15


clientes,
detalle,
correlativos,
correos
ENDTEXT

[Link](_screen,"3",thisform,vcadtablas,.T.,”estructura_sql
[Link]”)

Despues de mostrar la diferencias presione la tecla ESC, y se preguntara


si se desea hacer los cambios automáticos de campos eliminados,
modificados y agregados de tablas existentes.

Las tablas índices y desencadenantes (trigger) nuevos, se deben crear por procedimientos

Ejemplo para crear la tabla clientes. La tabla clientes se creara solo si no existe.
Text to vsend
CREATE TABLE [dbo].[clientes](
[id] [int] IDENTITY(1,1) NOT NULL,
[numcli] [int] NULL,
[nombre] [nchar](10) NULL,
[direccion] [nchar](10) NULL,
[telefono] [nchar](20) NULL,
[fnacimiento] [date] NULL,
[decimalnum] [numeric](15, 2) NULL,
[imagena1] [char](200) NULL,
[imagenn1] [char](200) NULL,
[imagend1] [image] NULL,
[imagena2] [char](200) NULL,
[imagenn2] [char](200) NULL,
[imagend2] [image] NULL,
[clave] [bit] NULL,
[logusuario] [nchar](10) NULL,
[logfecha] [datetime] NULL,
[logui] [char](36) NULL,
[logpc] [varchar](30) NULL,
[stock] [int] NULL,
[estimado] [varchar](10) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Endtext

[Link](_screen,”1”,vsend,,.T.) &&el ultimo parámetro indica que no de error si


existe la tabla

Aclaracion:

Debe crearse un procedimiento que cree todas las tablas de las bases de datos, mediante
procedimiento text endtext y enviados con psqlcomando inicialmente, luego se ejecuta la función
psqlcomparar.

Puede incluirse el archivo generado dentro del ejecutable

También podría gustarte