Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 03-08-2004
Avatar de Tino
Tino Tino is offline
Miembro
 
Registrado: may 2004
Posts: 40
Poder: 0
Tino Va por buen camino
Basicamente, el Data Pump trabaja así:

Con los métodos del objeto Session: GetDatabaseNames y GetTableNames obtenemos los alias de base de datos disponibles (desde el BDE) y las tablas para un alias determinado. Además, con los métodos GetAliasParams, GetDriverNames y GetDriverParams obtenermos los parámetros del alias, la lista de controladores disponibles y los parametros de un controlador, respectivamente.

Con los métodos anteriores estamos en disposición de conectarnos a una base de datos, sabiendo que tablas contiene. Por cada tabla, sería conveniente analizar su estructura dinámicamente para poderla reconstruir en la base de datos destino. Para analizar la estructura de una tabla tenemos la propiedad FieldDefs de los TDataset. Esta propiedad es una matriz de objetos TFieldDef, cada uno de los cuales almacena la información de una columna (tipo, nombre en la tabla, not null, tamaño, ...). El FieldDefs posee un método, Add, con el que podemos definir columnas de una tabla en tiempo de ejecución.

Asimismo, se puede también analizar los índices de la base de datos origen con la propiedad IndexDefs que es una matriz de objetos IndexDef, cada uno de los cuales almacena la información de un índice (nombres de columnas que forman el índice, primaria, única, ...). IndexDefs también posee un método, Add, con el que podemos definir índices en ejecución.

Una vez definidos las columnas e índices de la tabla, llamariamos al método CreateTable del TTable.

No sería díficil crear una aplicación que leyera la estructura física de la base de datos origen, la rehiciera en la base de datos destino para con el TBatchMove pasar los datos de una base de datos a otra. Yo creo que una aplicación tipo DataPump sería de grado medio en cuanto a dificultad. Y sería capaz de mover cualquier tipo de base de datos a otra.

Hay que decir que aspectos más propios, como por ejemplo vistas, procedimientos almacenados, restricciones de integridad no serán migradas. Es el inconveniente de la generalidad de esta aplicación.

Una vez hecha, sería sencillo programar para que se ejecutara cada cierto tiempo (¿un servicio tal vez?) o simplemente ejecutarla con el programador de tareas del windows. Finalmente, si quieres controlar la aplicación por cualquier otra, puede programarla como un servidor de automatización OLE.

Tal vez ya exista una aplicación freeware como el DataPump y que además ofrezca automatización, lo desconozco.

saludos
__________________
El hombre que no lee no tiene ninguna ventaja sobre el que no sabe leer.

Para hacer una buena exposición hay que escribir más de lo que se va a decir, y luego decir más de lo que se escribió.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:47:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi