Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2004
Efrencm17 Efrencm17 is offline
Registrado
 
Registrado: jul 2004
Posts: 3
Poder: 0
Efrencm17 Va por buen camino
DataPump

Como puedo copiar tablas con el DataPump en forma automática; lo que pasa es que necesito copiar diariamente tablas desde Macro Pro con DataPump y quiero saber si se puede automatizar.
Responder Con Cita
  #2  
Antiguo 01-08-2004
Avatar de Tino
Tino Tino is offline
Miembro
 
Registrado: may 2004
Posts: 40
Poder: 0
Tino Va por buen camino
Yo creo que no puedes automatizar el DataPump pero si que podrías crear una aplicación que hiciera lo que necesitas basandote en el compo TBatchMove. Al fin y al cabo, el DataPump está realizado en Delphi y usa este componente.

Saludos.
Responder Con Cita
  #3  
Antiguo 02-08-2004
Efrencm17 Efrencm17 is offline
Registrado
 
Registrado: jul 2004
Posts: 3
Poder: 0
Efrencm17 Va por buen camino
Si uso el tbatchmove solo puedo copiar loas datos y no hace una copia completa de la tabla, de que otra forma puedo hacer una copia de tablas en forma automatica aunque no sea el datapump.
Responder Con Cita
  #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
  #5  
Antiguo 03-08-2004
Efrencm17 Efrencm17 is offline
Registrado
 
Registrado: jul 2004
Posts: 3
Poder: 0
Efrencm17 Va por buen camino
Thumbs up

ok, gracias por tu atención.
Responder Con Cita
Respuesta



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 05:09:14.


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