locked
Tarea Script en paquete SSIS RRS feed

  • Pregunta

  • Hola amigos hice una tarea script en un paquete y en el codigo hice un formulario en donde coloco dos textbox y un boton para colocar usuario y contraseña del usuario de la base de datos al dar aceptar se envian los datos al connection string pero el evento click del boton no funciona. le doy por mas q quiera clik y nada, es como si no lo tomara, que se podria hacer alli.
    por q lo habia hecho por inputbox y funnciono pero se ve mejor presentado con el formulario(el inputbox serian 2 seguidos y no se ve bien) gracias
    martes, 29 de septiembre de 2009 1:33

Respuestas

  • Hola.

    No me parece la mejor forma porque un paquete de Integration Services no es una aplicación de escritorio en la que el usuario deba introducir ningún dato, aunque como muchas veces digo, con un dtsx puedes hacer casi cualquier cosa, es una aplicación de ETL para que corra en un servidor. Y para hacer esto en concreto, ya tienes la utilidad DTExecUI. Por poderse, seguramente que pueda realizarse, no me parece recomendable, eso es todo.

    Además, el problema lo tienen en que no consigues securizar adecuadamente el paquete contando con una validación mixta. No hace muchos días te indiqué en un post el posible motivo de esto y la forma de solventarlo. Desconozco qué tal te fue aquello porque en ese mismo post no lo aclaraste. Esto que comentas ahora (que desaparezca la contraseña cuando quitas el foco), no lo entiendo. Eso sirve para encriptar el paquete con esa clave, prueba a poner una, grabar, cerrar el paquete y volver a abrirlo. Debe pedírtela.

    Veo que estás teniendo numerosas dificultades con Integration Services. Te recomiendo que realices los tutoriales que vienen en los Books Online. Pueden parecer triviales, pero te enseñan mucho, sobre todo al principio.



    Alberto López Grande.
    martes, 29 de septiembre de 2009 15:40
    Moderador

Todas las respuestas

  • Hola.

    No creo que sea la mejor forma de suministrar los parámetros a un paquete de integration services. Para eso creo que sería más fácil que crees una aplicación que recoja información de conexión y con ella ejecute el paquete, y no al revés.

    Te paso un link que contiene numerosas formas de ejecutar un paquete desde código: http://blogs.msdn.com/michen/archive/2007/03/22/running-ssis-package-programmatically.aspx.



    Alberto López Grande.
    martes, 29 de septiembre de 2009 10:45
    Moderador
  • hola estoy viendo el ejemplo de crear la ejecucion del paquet epor programacion pero por q dices q no es la mejor forma. es q a la base entra un usuario al cual se le asigna su clave y es autenticado por sql. entonces ese seria el parametro.
    es q por "agregar configuracion de paquete" no me toma la contraseña y en package passowrd le coloco una contra. y se me desaparece cuando quito el foco.y pues como vi el script y funciono pues lo hice asi.
    martes, 29 de septiembre de 2009 14:06
  • Hola.

    No me parece la mejor forma porque un paquete de Integration Services no es una aplicación de escritorio en la que el usuario deba introducir ningún dato, aunque como muchas veces digo, con un dtsx puedes hacer casi cualquier cosa, es una aplicación de ETL para que corra en un servidor. Y para hacer esto en concreto, ya tienes la utilidad DTExecUI. Por poderse, seguramente que pueda realizarse, no me parece recomendable, eso es todo.

    Además, el problema lo tienen en que no consigues securizar adecuadamente el paquete contando con una validación mixta. No hace muchos días te indiqué en un post el posible motivo de esto y la forma de solventarlo. Desconozco qué tal te fue aquello porque en ese mismo post no lo aclaraste. Esto que comentas ahora (que desaparezca la contraseña cuando quitas el foco), no lo entiendo. Eso sirve para encriptar el paquete con esa clave, prueba a poner una, grabar, cerrar el paquete y volver a abrirlo. Debe pedírtela.

    Veo que estás teniendo numerosas dificultades con Integration Services. Te recomiendo que realices los tutoriales que vienen en los Books Online. Pueden parecer triviales, pero te enseñan mucho, sobre todo al principio.



    Alberto López Grande.
    martes, 29 de septiembre de 2009 15:40
    Moderador
  • Ok, en el paquete hay una propiedad que dice password package, le doy alli y me sale un cuadro para dar la clave que quiero darle al  paquete, le doy una clave y cuando le doy aceptar y miro de nuevo la pide (como si no la tomara) hice lo q dices, coloque clave y cerre el paquete y volvi abrir y no pidio nada, en ProtectionLevel esta EncryptSensitiveWithUserKey.

    martes, 29 de septiembre de 2009 15:59
  • Hola.

    En ProtectionLevel debes poner EncryptSensitiveWithPassword. Lo que has puesto realiza la encriptación con datos del usuario logado, algo que complica el deploy.



    Alberto López Grande.
    martes, 29 de septiembre de 2009 16:15
    Moderador