0

在处理 VS 数据库项目时,我感到很困惑。好的,在尝试将 DB 项目部署到目标数据库时,如果在对象中包含对同一数据库的引用,则对象(SP、触发器)仍然引用以前的数据库。例如:

我有一个 SP,其中包含一个作为 DBName..TableName 的表引用。在我将项目部署到具有新名称的目标数据库后,该对象仍然引用同一个 DB,即 DBName。现在为了使我的部署工作,我将此硬编码名称更改为 $(DBName) 变量,并将其作为变量传递,同时将数据库部署到目标数据库。这会在部署时出错。那么我们能否将包含交叉引用或对同一数据库的引用的数据库项目部署到新的数据库目标并完全更改这些名称。

4

1 回答 1

1

只需尝试从数据库项目属性菜单中的“发布...”命令(右键单击解决方案资源管理器中的项目)。对话框打开后,您可以设置变量的值(例如 [$(MyDatabase)]。如果您选择“创建发布脚本”-选项,将生成一个包含 SQLCMD 变量的脚本,该变量可以设置为您的目标数据库。

于 2012-10-14T10:24:47.920 回答