Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2009
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Crear y llamar DTS en SQL Server 2005

Estimados amigos de Club Delphi, una vez mas recurro a uds para consultarles una cuestión que no logro resolver.

Estoy desarrollando una aplicación con SQL Server 2005 Express y necesito crear un DTS que permita migrar mensualmente una tabla en DBF a una tabla SQL que tengo creada en mi Base de Datos.

Dado que tengo que correrlo mensualmente y este debe ser realizado por un usuario final, requiero crear un DTS que migre estos datos previa selección del archivo DBF en cuestión.

Primer cuestión: no se como definir (programar) el DTS y que este se encuentre accesible cuando quiero ejecutarlo desde Delphi. Utiliza el SQL Manager para administrar mi BD.

Segunda cuestión: de que forma llamo a mi DTS desde Delphi. Y a que debo llamar, si a un archivo, un Stored Procedure, etc.

Desde ya, agradezco su tiempo y buena predisposición.

Sepan disculpar si este tema ya fue tratado con anterioridad pero no he podido encontrarlo en los hilos.

Saludos.
Responder Con Cita
  #2  
Antiguo 19-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
El tema de crearlo, la verdad es que nunca lo he probado, pero para ejecutarlo, puedes echarle un vistazo a este truco que hay en mi Web.
Es antiguo y funciona sobre DTS creados en SQLServer 2000, pero supongo que el sistema debe funcionar también para 2005.,

Ya dirás.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 19-03-2009
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Neftali gracias por tu respuesta.

De hecho estuve recorriendo tu página y me baje uno de los ejemplos que das allí. Pero me servirá en el siguiente paso: ejecutarlo desde Delphi

Para serte sincero, he recorrido un montón de sitios y no he podido encontrar la forma de crear el DTS desde cero. En este momento estoy probando realizar una inserción a partir de un OPENROWSET. Después te comento como fue.

Nuevamente gracias por tu ayuda.

Ahhh y por cierto: Felicitaciones por tu nueva web!!!!! Va a sernos de gran utilidad.

Un abrazo
Responder Con Cita
  #4  
Antiguo 19-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La clase que se usa en el ejemplo para ejecutar un DTS (la clase TPackage) posee métodos de lectura y grabación.

Código Delphi [-]
procedure SaveToStorageFile
procedure SaveToRepository
procedure SaveToRepository
procedure RemoveFromRepository
procedure LoadFromStorageFile
procedure LoadFromStorageFile
procedure LoadFromRepository
procedure LoadFromRepository
procedure SaveToSQLServer
procedure LoadFromSQLServer
procedure LoadFromSQLServer
procedure SaveAs
...

Talvez podrías probar con ellos a ver si en lugar de generarlo de 0, puedes importarlo o leerlo desde algun sitio.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 19-03-2009
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Estimado Neftali, disculpa mi ignorancia pero precisamente no logro crear el DTS (independientemente si lo creo desde 0 o lo realizo mediante un wizard)

He probado usar el DTSWizard que trae SQL Server 2005 pero pude generar el archivo .dts para llamarlo, ya sea desde Delphi o desde un SP.

Como puse en la introducción del hilo, no tengo mucha experiencia y no se como crearlo. Si a partir de código, desde un wizard, etc.

Desearía que me orientes sobre este tema.

Nuevamente gracias.
Responder Con Cita
  #6  
Antiguo 19-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Bueno, en mi caso, he hecho la prueba y he logrado llegar a generar el fichero DTS sin problemas. Yo estoy con SQL Server 2000, pero supongo que el proceso es similar.

En mi caso lanzo desde el programa de Administración una operación de Importar/exportar y eso abre el DTSWizard o "Asistente de Importación/exportación con DTS".



A partir de ahí, siguiendo los pasos llegas a realizar la importación/exportación.

* Ejemplo1
* Ejemplo2

En concreto hay una de las pantalla (debe ser similar a esta que hay debajo) que permite guardar el DTS en un fichero.



En ese punto deberías guardarlo y posteriormente con la Clase/Unit que hemos comentado podrías intentar importar o leer ese fichero.

Unit DTS_TLB y la clase TPackage.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 20-03-2009
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Muchas gracias Neftali por darme una mano.

Voy a probar lo que me sugeriste.

Un abrazo.
Responder Con Cita
  #8  
Antiguo 26-03-2009
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Los DTS no existen en la version 2005, o al menos no en su concepcion original. Lo primero es que viene integrado en una herramienta adicional, llamada Integration Services (SSIS), que de por si no esta disponible para la version Express de SQL Server.

Lo segundo es que, cuando instalas una version de SQL Server 2005 que si trae Integration Services, SQL Server tiene una herramienta adicional que se llama Sql Server Business Studio (o algo parecido), que no es mas que el IDE de Visual Studio 2005 soportando aplicaciones tipo Integration Services. Es decir, el editor del DTS ya no es parte de la consola de SQL Server (anteriormente, el Enterprise Manager), sino que viene aparte.

A partir de ahi, todo es practicamente igual, en el sentido de los flujos, componentes, etc.

Finalmente, para ejecutar esos paquetes periodicamente, puedes escribirte un programita en Delphi como vienes queriendo hacer, o programar un job que lo haga automaticamente con el SQL Server Agent, que tampoco viene en la version Express de SQL Server.

Recomendacion: consiguete la version developer o standard, y parte de ahi.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #9  
Antiguo 06-04-2009
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Hector gracias por tu respuesta, pero concretamente: que opciones tengo?

* Puedo crear un DTS (o algo similar) utilizando SQL Server 2005 Express?
* Existe alguna herramienta gratis o paga para realizarlo?
* Existe alguna forma o método de reemplazar los DTS por un Stored Procedure que lea datos de un DBF y escriba en una tabla SQL?

Agradezco nuevamente tu ayuda.

Saludos.
Responder Con Cita
  #10  
Antiguo 08-04-2009
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
Reafirmo lo dicho por Hector; en SQL Server 2005 no existen los DTS como se conocian en SQL Server 2000. Ahora bien, para responder tu pregunta es necesario que entiendas los siguiente:

1. Para crear algo similar a los DTS debes contar con la herramienta llamada SQL Server Integration Services (SSIS) que permite elegir fuentes de datos, hacer transformaciones y llevarlas a un destino a grosso modo.

2. SQL Server 2005 Express no cuenta con la herramienta SSIS, la única forma de obtener esta herramienta paga es actualizandote a la Edición Standard

3. Existe algo llamado BULK INSERT que tal vez te permita leer los datos de un archivo y colocarlos en una tabla de SQL Server, aquí te dejo el enlace http://msdn.microsoft.com/es-es/library/ms188365.aspx
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
conectar delphi 2005 con mssql server 2005 tebre Conexión con bases de datos 0 26-11-2008 19:16:47
ms sql server 2005 Gbyte MS SQL Server 1 19-05-2008 23:52:51
Jobs en SQL Server 2005 Ricardosml MS SQL Server 0 03-11-2006 21:20:34
Exportar database sql server 2005 a sql server 2000 ErenioDhG Conexión con bases de datos 1 29-08-2006 15:42:46
Duda sobre Sql server 2005 y sql server 2005 ErenioDhG SQL 1 25-08-2006 01:41:14


La franja horaria es GMT +2. Ahora son las 00:13:09.


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