Pentaho Spoon: carga el código SQL del file txt y ejecútalo

Estoy usando el componente Execute SQL Script para enviar código SQL a MSSQL para que se ejecute.

Pero prefiero save el código SQL en files txt, para que Subversion pueda controlar sus cambios.

Estos files se almacenarán en un presente sql en el mismo nivel de file ktr. Me gustaría que algún componente equivalente a Execute SQL Script para leer un file .sql, tomar su contenido y enviarlo a MSSQL. Sería increíble si pudiera proporcionar la cadena de connection en el file sql, o al less establecerlo como un parámetro ktr.

En la menor posibilidad, necesitaría un componente para leer el file sql, almacenarlo en una variable de cadena y pasarlo a otro componente que tomaría la variable y la enviaría.

También sería genial poder replace variables en el código SQL.

Lo siento por ser tan novato, estoy tratando de aprender Cuchara y las funciones que faltaban que solía tener.

Puede adaptar la siguiente propuesta:

enter image description here

  1. El primer paso lee los files.

    • En la pestaña del file coloque el directory de files como $ {Internal.Transformation.Filename.Directory} (No escriba, presione Ctrl-espacio) y en Wildcard ponga .*\.sql Sql para get todos los files que terminan en ".sql ". Use el button Show filenames y adapte la expresión regular y la siguiente pestaña para tener todos los files que necesita.
  2. El segundo paso ejecuta el script.

    • Use el menu desplegable para indicarle a kettle que use el nombre de file en el campo SQL

    • Y marca la casilla para decir que es un nombre de file.

No es posible establecer la connection de forma dinámica. Esto se debe a que el hervidor utiliza declaraciones preparadas de JDBC para poder gestionar subprocesss paralelos. Si no tiene demasiadas conexiones, puede usar un paso Switch/Case , que envía copys de la Execute row SQL script con la connection adecuada.

Creo que quieres cargar el contenido del file en la memory Paso. Su nombre de campo y elemento será "Contenido del file". Desde allí puede "Establecer variables" o alimentar el campo "Contenido de file" (su SQL) directamente a un Paso de input de tabla.

    Intereting Posts