Udostępnij przez


Tworzenie plików wartości zmiennych (AccessToSQL)

Plik wartości zmiennej to plik XML zawierający wartości parametrów poleceń (takich jak nazwa serwera źródłowego lub docelowego), które często zmieniają się w ramach migracji serwera. W przypadku wystąpienia dużej liczby migracji baz danych tworzy się wiele plików zmiennych do przechowywania wartości dla każdego serwera źródłowego, które są odwoływane w pliku skryptu głównego za pomocą przełączników -v w wierszu polecenia. To zachowanie pomaga w utrzymywaniu wartości statycznych w kilku plikach skryptów przy użyciu wartości zmiennych w wielu plikach zmiennych.

Należy uwzględnić następujące warunki:

  • Nazwy zmiennych są poprzedzone prefiksem i sufiksem z symbolem $ (dolar). Jeśli zmienna nie jest przypisana do pliku wartości zmiennej, wystąpi błąd podczas analizowania pliku skryptu, co powoduje zatrzymanie procesu wykonywania konsoli.

  • Znak ucieczki dla $ jest $$. Jeśli wartość zmiennej lub statycznej wartości parametru zawiera $ symbol (dolara), $$ należy określić, aby traktować ją jako znak zamiast zmiennej.

  • W celach konserwacyjnych zmienne można zadeklarować wewnątrz 'variable-group' elementów w celu logicznego rozdzielenia zmiennych zdefiniowanych przez użytkownika. Użycie tego elementu nie jest obowiązkowe.

Przykłady

Przykład 1

Przykład poleceń pliku zmiennej wartości:

<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>

Przykład 2

Przykład poleceń pliku zmiennej wartości:

<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>

Walidacja wartości zmiennych w pliku

Użytkownik łatwo zweryfikuje plik wartości zmiennej względem pliku definicji schematu ConsoleScriptVariablesSchema.xsd dostępnego w folderze Schemas.