4

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

有一个特定的 SQL 脚本,称为部署后脚本,它会在项目的 Deploy 命令之后自动执行。建议在这里链接其他脚本文件,我们想链接我们的数据插入脚本。

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

SQLCMD :r <filename>

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

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

4

1 回答 1

5

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

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

于 2009-03-10T12:18:13.207 回答