【问题标题】:Dealing with SQLCMD :r in a post-deployment script在部署后脚本中处理 SQLCMD :r
【发布时间】:2009-03-09 23:14:06
【问题描述】:

我们使用 Visual Studio 数据库项目来控制数据库架构的源代码。我们还想从数据库中编写某些数据(配置值等)的脚本,因此我们使用自定义命令行实用程序将数据转储到插入脚本中。一个文件代表一个表的脚本数据。

有一个 SQL 脚本,叫做 post-deployment 脚本,它会在项目的 Deploy 命令之后自动执行。建议在这里链接其他脚本文件,我们想链接我们的数据插入脚本。

说明使用此命令从任意文件解析

SQLCMD :r <filename>

问题是,我看不到我的同事从源代码管理下载它时如何使用它,因为 :r 命令的起始目录是 devenv.exe(VS dev.env.exe)所在的位置。 ) 位于。

我们是否使用正确的工具从正确的角度处理数据脚本问题?如果是这样,那么如何获取正在执行的部署后脚本文件的路径,或者如何在不将其路径硬编码到部署后脚本中的情况下解析插入脚本?

【问题讨论】:

    标签: sql database sqlcmd


    【解决方案1】:

    好吧,事实证明,只需指定脚本文件的相对路径就足够了。我被 Visual Studio 的 Validate SQL Syntax 功能误导了,该功能使用 devenv.exe 的位置作为起始目录来评估 :r 之后的路径。

    但是,在项目上执行 Deploy 时,:r 命令使用脚本的目录作为起始目录,因此可以使用相对路径轻松给出文件的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      相关资源
      最近更新 更多