VS 2008 数据库项目 - 在部署“数据库名称”期间未定义

Posted

技术标签:

【中文标题】VS 2008 数据库项目 - 在部署“数据库名称”期间未定义【英文标题】:VS 2008 Database Project - During Deploy 'DatabaseName' undefined 【发布时间】:2013-02-28 16:01:53 【问题描述】:

我正在使用 VS 2008 并继承了我正在尝试部署的数据库项目。我正在做的部署是到一个新的数据库。 (好像我正在设置一个新的安装)

部署操作是:创建脚本并部署到数据库。

我收到以下错误:Schema.dbschema(0,0)Error TSD01268: SQL Execution error: A fatal error occurred。找不到变量 DatabaseName。

DatabaseName 在项目属性中定义。

如果我查看部署脚本,我会看到声明已被注释掉。我可以删除注释并手动运行脚本,它可以工作,但是当我重新生成脚本时,声明又被注释掉了。

/*
:setvar DatabaseName "TestDb"
:setvar DefaultDataPath "C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\"
*/
GO

我已经搜索了会导致声明被注释掉的设置,但没有找到任何东西。

我希望能够运行部署脚本而无需每次都对其进行编辑。

【问题讨论】:

【参考方案1】:

找到了!

在 Database.sqldeployment 中有一个名为“CommentOutSetVarDeclarations”的高级选项下的选项。

【讨论】:

非常感谢你。生产部署受到威胁) 我找不到 Database.sqldeployment?我正在尝试部署我的数据库项目。【参考方案2】:

您是否在项目设置中指定了希望在部署时始终重新创建数据库?如果没有,请尝试设置此选项以查看是否可以为您解决此问题。 See this MSDN article for more details.

【讨论】:

我将设置更改为在部署时始终重新创建数据库,但没有效果。感谢您指出对我的设置,但是,我会很有用。 找到了!感谢 TIm 将我指向正确的位置。在 Database.sqldeployment 中有一个名为“CommentOutSetVarDeclarations”的高级选项下的选项。

以上是关于VS 2008 数据库项目 - 在部署“数据库名称”期间未定义的主要内容,如果未能解决你的问题,请参考以下文章

VS2010数据库项目部署重建每张表

部署另一个数据库项目后如何自动启动VS数据库项目的部署

VS2010 数据库项目部署——“SqlDeployTask”任务意外失败,NullReferenceException

vs2008下如何部署arcengine开发的程序

vs2008下如何部署arcengine开发的程序

vs2008部署问题