Erstellen von Variablenwertdateien (Db2ToSQL)
Eine Variable-Wertdatei ist eine XML-Datei, die die Parameterwerte von Befehlen umfasst, z. B. den Quell- oder Zielservernamen, der sich häufig von einer Servermigration in eine andere ändert. Wenn eine große Anzahl von Datenbankmigrationen auftritt, werden mehrere Variablendateien zum Speichern des Werts jedes Quellservers erstellt und in einer Hauptskriptdatei mit dem Schalter an der -v
Befehlszeile referenziert. Dadurch können statische Werte in einigen Skriptdateien mit den Variablenwerten in mehreren Variablendateien beibehalten werden.
Hinweise
Variablennamen werden präfixiert und mit einem $-Symbol (Dollar) versehen. Wenn den Variablen in der Variablenwertdatei kein Wert zugewiesen wird, kann während der Analyse der Skriptdatei ein Fehler auftreten, was dazu führt, dass der Ausführungsprozess der Konsole angehalten wird.
Das Escapezeichen lautet $
$$
. Wenn der Wert einer Variablen oder eines statischen Werts eines Parameters (Dollar)-Symbol enthält $
, muss angegeben werden, $$
um ihn anstelle einer Variablen als Zeichen zu behandeln.
Zur Verwendbarkeit können Variablen innerhalb von variable-group
Elementen zur logischen Trennung von benutzerdefinierten Variablen deklariert werden. Die Verwendung dieses Elements ist nicht obligatorisch.
Beispiele
A. Beispiel für Dateibefehle mit variablem Wert für Das Projekt
<variables>
<variable-group name="ProjectSpecs">
<variable name="$project_folder$" value="<project-folder>"/>
<variable name="$project_name$" value="<project-name>"/>
<variable name="$project_overwrite$" value="<true/false>"/>
<variable name="$project_type$" value="<project-type>"/>
</variable-group>
</variables>
B. Beispiel für Dateibefehle mit variablem Wert für den Server
<variables>
<variable-group name="SQLServerParams">
<variable-group name="SqlServerConnectionParams">
<variable name="$TargetServerName$" value="<server-name>"/>
<variable name="$TargetDB$" value="<database-name>"/>
<variable name="$TargetUserName$" value="<user-name>"/>
<variable name="$TargetPassword$" value="<password>"/>
<variable name="$TrustedConnection$" value="<true/false>"/>
</variable-group>
<variable-group name="SqlServerObjectParams">
<variable name="$ObjectName1$" value="<object-name>"/>
<variable name="$ObjectName2$" value="<object-name>"/>
</variable-group>
</variable-group>
</variables>