Delen via


Bestanden met variabele waarden maken (AccessToSQL)

Een bestand met variabele waarden is een XML-bestand dat bestaat uit de parameterwaarden van opdrachten (zoals de naam van de bron- of doelserver) die vaak worden gewijzigd in servermigraties. Wanneer een groot aantal databasemigraties plaatsvindt, worden meerdere variabele bestanden voor het opslaan van de waarde van elke bronserver gemaakt en waarnaar wordt verwezen in een hoofdscriptbestand met de schakeloptie op de -v opdrachtregel. Dit gedrag helpt bij het onderhouden van statische waarden in een paar scriptbestanden met de variabelewaarden in meerdere variabele bestanden.

De volgende voorwaarden zijn van toepassing:

  • Variabelenamen worden voorafgegaan en gevolgd door een $-symbool (dollar). Als aan een variabele geen waarde in het bestand met variabelewaarden is toegewezen, treedt er een fout op tijdens het parseren van het scriptbestand, wat resulteert in het vastlopen van het consoleuitvoeringsproces.

  • Het escape-teken voor $ is $$. Als de waarde van een variabele of statische waarde van een parameter een $ (dollar) symbool bevat, $$ moet u deze als een teken behandelen in plaats van een variabele.

  • Voor onderhoudbaarheid kunnen variabelen worden gedeclareerd binnen 'variable-group' elementen voor logische scheiding van door de gebruiker gedefinieerde variabelen. Het gebruik van dit element is niet verplicht.

Voorbeelden

Voorbeeld 1

Voorbeeld van opdrachten voor bestand met variabele waarden:

<variables>
  <variable-group name="ProjectSpecs">
    <variable name="$type$" value="MyProject"/>
    <variable name="$project_folder$" value=".\$project_name$"/>
    <variable name="$project_name$" value="$type$ConsoleProject"/>
    <variable name="$project_overwrite$" value="true"/>
    <variable name="$project_type$" value="sql-server-2016"/>
  </variable-group>
</variables>

Voorbeeld 2

Voorbeeld van opdrachten voor bestand met variabele waarden:

<variables>
  <variable-group name="SQLServerParams">
    <variable-group name="SqlServerConnectionParams">
      <variable name="$TargetServerName$" value="xxx"/>
      <variable name="$TargetDB$" value="xxx"/>
      <variable name="$TargetUserName$" value="xxx"/>
      <variable name="$TargetPassword$" value="xxx"/>
      <variable name="$TargetIsTrusted$" value="xxx"/>
      <variable name="$TrustedConnection$" value="xxx"/>
    </variable-group>
    <variable-group name="SqlServerObjectParams">
      <variable name="$ObjectName1$" value="TestTable1"/>
      <variable name="$ObjectName2$" value="TestProc1"/>
    </variable-group>
  </variable-group>
</variables>

Validatie van variabele-waardebestand

De gebruiker kan eenvoudig het bestand met variabele waarden valideren op basis van het schemadefinitiebestand ConsoleScriptVariablesSchema.xsd dat beschikbaar is in de Schemas map.