0

我有一组需要在安装期间运行的数据库脚本。我有一个 UI 屏幕,用户可以选择服务器、提供凭据,然后选择目标数据库。我需要做的是将大部分脚本安装到用户选择的目标数据库中,但有些脚本需要转到主数据库。我已经尝试在网上搜索答案,但我还没有真正找到任何告诉我如何做到这一点的东西。如果有人有关于如何完成的文章或建议,我将不胜感激。

谢谢

4

1 回答 1

0

您可以声明两个 SqlDatabase 节点,一个用于必须运行脚本的每个数据库:

<Binary Id="SqlScriptBinary1" SourceFile="script1.sql" />
<Binary Id="SqlScriptBinary2" SourceFile="script2.sql" />

  <Component Id='SqlComponent.Sql1' Guid='YOUR-GUID-HERE' KeyPath='yes'>
    <sql:SqlDatabase Id='Database1' Database='[DATABASE_NAME1]' Server='[DATABASE_SERVER]' 
                     CreateOnInstall='no' 
                     DropOnInstall='no' DropOnReinstall='no' DropOnUninstall='no' 
                     ContinueOnError='no'>
      <sql:SqlScript Id='SqlScript1' BinaryKey='SqlScriptBinary1' ExecuteOnInstall='yes' />
    </sql:SqlDatabase>
  </Component>

  <Component Id='SqlComponent.Sql2' Guid='YOUR-GUID-HERE' KeyPath='yes'>
    <sql:SqlDatabase Id='Database2' Database='[DATABASE_NAME2]' Server='[DATABASE_SERVER]' CreateOnInstall='no' 
                     DropOnUninstall='no' DropOnInstall='no' DropOnReinstall='no' ContinueOnError='no'>
      <sql:SqlScript Id='SqlScript2' BinaryKey='SqlScriptBinary2' ExecuteOnInstall='yes' />
    </sql:SqlDatabase>
  </Component>

进行快速搜索,您会找到可能对您有帮助的文章,例如这篇文章。

于 2013-10-30T09:32:33.840 回答