Task SqlToFile

Wofür?

Die Task SqlToFile ist eine neue Task.

Beispiel aus Praxis

Die Task SqlToFile wurde entwickelt um mit einer Task aus einer Datenbank Blob ein File zu erstellen.

Konkrete Aufgabe: Extrahieren des Quellcode aus einer Datenbank in eine Datei um ihn per FileDiff mit einer vorherigen Version zu vergleichen.

Update

Die Task wird noch erweitert um je nach Inhaltstyp des Blobs eine Textdatei, ein Bild, eine Worddatei, etc. zu erzeugen.

Setting

<?xml version="1.0" encoding="utf-8" ?>
<Tasks>
  <!--
    SqlToXml is a sequential task that executes a collection of SQL scripts (select queries) and outputs the results in CSV files as follows:
    
    columnName;columnName;columnName;...
    columnValue;columnValue;columnValue;...
    ...
    
    This task supports Microsoft SQL Server, Microsoft Access, Oracle, MySQL, SQLite, PostgreSQL, Teradata and Odbc.
    
    The CSV files generated are loaded by this task so that other tasks can select them through the selectFiles setting.
  -->
  <Task id="$int" name="SqlToXmlExtended" description="$string" enabled="true|false">
    <!-- 
      The SQL script files loaded by the task having as id $taskId will be
      executed.
    -->
    <Setting name="selectFiles" value="$taskId" />
    <Setting name="selectFiles" value="$taskId" />
    <!-- You can add as many selecteFiles as you want.-->
    <!-- The database engine type. Possible options: sqlserver|access|oracle|mysql|sqlite|postgresql|teradata|odbc-->
    <Setting name="type" value="sqlserver|access|oracle|mysql|sqlite|postgresql|teradata|odbc" />
    <!--- The connection string.-->
    <Setting name="connectionString" value="$string" />
    <Setting name="password" value="$string" />
    <!-- Optional. It is possible to execute an SQL script through this option.-->
    <Setting name="sql" value="$string" />
  </Task>
</Tasks>

Workflow

Task 1 erzeugt für jede Zeile aus Tabelle dbo.EventCode eine neue Datei.

Der Inhalt der Datei kommt aus „Contend“ und der jeweilige Dateiname aus Filename.

<Workflow id="151" name="SQL To File" description="SQL To File" xmlns="urn:wexflow-schema">
  <Settings>
    <Setting name="launchType" value="trigger" />
    <Setting name="enabled" value="true" />
    <Setting name="approval" value="false" />
  </Settings>
  <LocalVariables />
  <Tasks>
    <Task id="1" name="SqlToFile" description="" enabled="true">
      <Setting name="type" value="SqlServer" />
      <Setting name="connectionString" value="Data Source=Server;Initial Catalog=DB;User ID=user;Password={password}" />
      <Setting name="password" value="decryptedPassword" />
      <Setting name="sql" value="select EventCode + '_Code_Selection' Filename, 
                        SourceCode Contend from dbo.EventCode 
                    " />
    </Task>
  </Tasks>
</Workflow>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.