Inicio > Delphi, Ejemplos > Ejecutar DTS (SQL Server) desde Delphi

Ejecutar DTS (SQL Server) desde Delphi

Share Button

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:

  1. Project / Import Type Librery
  2. Seleccionar: “Microsoft DTSPackage Object Library (Versión X.X)”
  3. Create Unit

La unit creada se deberá añadir al USES del proyecto.

Download Descargar ejemplo

Vota este post
Categories: Delphi, Ejemplos Tags: ,
  1. RUBEN SOSA
    miércoles, 9 de junio de 2010 a las 19:48 | #1

    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

  2. Neftalí
    jueves, 10 de junio de 2010 a las 10:51 | #2

    @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.

  3. RUBEN SOSA
    jueves, 10 de junio de 2010 a las 15:52 | #3

    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

  4. samupe
    martes, 10 de mayo de 2011 a las 20:21 | #4

    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.

  5. Neftalí
    miércoles, 11 de mayo de 2011 a las 08:52 | #5

    @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.

  6. @vega
    jueves, 11 de septiembre de 2014 a las 13:07 | #6

    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.

  7. Neftalí
    jueves, 11 de septiembre de 2014 a las 17:57 | #7

    @@vega
    ¿Exactamente cual es el error?
    Debes tener el cliente de SQL Server instalado (creo recordar).

  8. gonzalo
    jueves, 5 de octubre de 2017 a las 21:35 | #8

    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.-

  9. viernes, 6 de octubre de 2017 a las 08:29 | #9

    @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:

    {.$DEFINE EMPTYPARAM_VAR}
    {$IFDEF EMPTYPARAM_VAR}
    var
      EmptyParam: OleVariant;    // "Empty parameter" standard constant which can be
      {$EXTERNALSYM EmptyParam}  // passed as an optional parameter
    {$ELSE}
    function EmptyParam: OleVariant;// "Empty parameter" standard constant that
    {$EXTERNALSYM EmptyParam}       // can be passed as an optional parameter
    {$ENDIF}

    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:

    var
      EmptyParam: OleVariant;

    Con eso debería compilar sin problemas.

  10. gonzalo
    viernes, 6 de octubre de 2017 a las 19:38 | #10

    @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

  1. Sin trackbacks aún.