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 数据库项目部署——“SqlDeployTask”任务意外失败,NullReferenceException