Ejecutar DTS (SQL Server) desde Delphi
Con éste ejemplo se muestra cómo ejecutar un DTS (Data Transformation Services) creado en SQL server 2000 desde un programa de Delphi 6.
Para trabajar con DTS desde Delphi, se debe generar la unit DTS_TLB a partir del objeto «Microsoft DTSPackage Object Library (Versión X.X)».
Para generar la unit se deben seguir los pasos desde el IDE de Delphi:
- Project / Import Type Librery
- Seleccionar: «Microsoft DTSPackage Object Library (Versión X.X)»
- Create Unit
La unit creada se deberá añadir al USES del proyecto.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
PRIMERO DEBO DE DARTE LA GRACIAS POR TU APORTE SE QUE LO HACE CON LA INTENCION DE QUE NOSOTROS APRENDAMOS DE TUS EXPERIENCIAS. TE DIRE QUE BAJE EL PROGRAMITA QUE CONECTA A UN DTS DE MSSQL SERVER Y EFECTIVAMENTE LO PUDE AGREGAR A UNA APLICACION QUE ESTOI REALIZANDO, PERO ME HE FRENADO UN POCO YA QUE AL EJECUTARLO, SE REALIZA PERFECTAMENTE PERO NO COPIA LA DATA DE LAS TABLAS QUE TRATO DE EXPORTAR, REVISE EL DTS Y CORRIENDOLO DESDE MSSQL SERVER FUNSIONA
LO QUE HACE EL DTS CREADO Y GRABADO ES LO SIGUIENTE
1 BORRA LAS TABLAS QUE EXPORTA
2 LA CREA DE NUEVO
3 COPIA LA DATA EN LAS TABLAS EXPORTADAS
CORIENDO LA APLICACION SOLO HACE HASTA EL PUNTO DOS(2)
ME GUSTARIA QUE ME AYUDA
AGRADECIDO DE TU AYUDA ANTICIPADA
RUBEN SOSA
domini0607@gmail.com
@RUBEN SOSA
Hola Ruben. Si quieres pásame de alguna forma el DTS y el Script de la tabla y le echo un vistazo.
Yo, en su díá, lo probé con un par de DTS’s y no tuve ningun problema.
Mil gracias Neftali, que aunque no me dijiste nada, diste en clavo…. el problema era como cree el dts… lo revise y lo coregi y todo funsiono a las mil maravilla…. eres un mounstro…….. sinonimo de que te la sabe la sabe….. una cosa para mejorar como le agrego un progresbar ….
Gracias
Ruben Sosa
Hola Neftalí ya se que hace tiempo que publicaste este post, pero si me puedes echar una mano ya que al importar librería «Microsoft DTSPackage Object Library» no la encuentro estoy trabajando con Windows XP SP3 y Delphi 7. Gracias.
@samupe
Hola samupe.
Normalmente ese fichero aparece cuando instalas las «herramientas cliente» de SQLServer. Estás se distribuyen en el propio CD de SQL Server y supongo que también se pueden descargar desde la Web.
Lo normal es que se instanlen en el directorio:
«c:\Archivos de programa\Microsoft SQL Server\80\Tools\Binn\»
Ahí puedes encontrar el fichero dtspkg.dll que es el que corresponde a esta librería.
Un saludo.
Buenas Neftalí
He descargado el ejemplo y obtengo el siguiente error de que no encuentra el paquete, tienes alguna idea de porque puede ser. La ruta la he puesto de mil maneras.
Mil gracias por tu tiempo.
@@vega
¿Exactamente cual es el error?
Debes tener el cliente de SQL Server instalado (creo recordar).
Hola Neftalí lo estoy corriendo en Windows 7 y Delphi xe6 y cuando encuentra las líneas con EmptyParam me da este error —– > [dcc32 Error] DTS_TLB.pas(5772): E2033 Types of actual and formal var parameters must be identical
por ejemplo se detiene aquí:
DefaultInterface.SaveToRepository(RepositoryServerName, RepositoryDatabaseName,
RepositoryUserName, RepositoryUserPassword, Flags, CategoryID,
EmptyParam);
Tenes idea a que se debe desde ya muchas gracias.-
@gonzalo
Hola Gonzalo.
Seguramente es debido a un cambio en el tipo de los parámetros o concretamente a este condicional que hay en la uinit System.Variants.pas:
Está esperando una variable y seguramente le llega una función.
Para solvertanlo, puedes añadir en las funciones que te da error esta definición:
Con eso debería compilar sin problemas.
@Germán Estévez
Graciasss!!! Igual da error de Ole 80040e4d ahora jjajaja queda como conectando un momento y después da ese error :S