1

我的数据库项目需要包含一个带有命令的 SQL 文件,该命令将在另一台服务器中手动运行,以便创建一个链接服务器。我希望这个文件将被 VSDBCMD 解析并复制到带有变量集的输出文件夹中。

我唯一能做的就是将它复制到选择Copy to Output Directory选项Copy Always的输出文件夹中,但是 VSDBCMD 不解析该文件,因此它的变量没有价值。

有什么线索吗?

谢谢

4

1 回答 1

1

两种选择:

将部署目标添加到数据库项目文件

配置“我的项目设置”的部署设置。然后在构建解决方案时,构建服务器将使用这些设置。在本地构建时,使用的设置将来自“我的隔离开发环境”。

1-在数据库项目属性中

部署操作需要设置为'创建部署脚本(.sql)并部署数据库';这将阻止脚本的执行,它只会创建它。

2- 数据库项目文件

修改数据库项目文件(右键数据库项目,选择Unload,再次右键,选择Edit [ProjectName].dbproj)来自

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

当构建服务器构建包含数据库项目的解决方案时,添加默认目标也将部署数据库。此构建将使用为“我的项目设置”选择的部署设置。

优点 - 易于设置

缺点 - 开发人员必须管理自己的隔离开发环境设置

将调用 vsdbcmd 的调用进程添加到构建模板

遵循此过程:http: //msdn.microsoft.com/en-us/library/ff805001.aspx

优点 - 开发人员不必管理自己的隔离开发环境设置

缺点 - 每次向数据库项目添加或删除变量时,都需要修改构建模板或构建定义以反映这些更改

于 2012-07-03T17:29:16.500 回答