使用vsdbcmd部署数据库项目时,出现错误“为数据库启用了Vardecimal支持但对项目禁用了”

时间:2011-05-25 11:30:02

标签: database-project datadude vsdbcmd

我得到:SQL01265 Vardecimal support is enabled for the database but disabled for the project

我已经尝试将.sqlsettings文件更改为:"<VardecimalStorageFormatOn>True</VardecimalStorageFormatOn>"和.sqldeployment文件:"<DeployDatabaseProperties>True</DeployDatabaseProperties>"但我仍然收到错误。

这是VS2010数据库项目,项目设置为2005,正在升级的数据库是2008年。

我们还有另一个2005数据库项目,即使在.sqlsettings文件中将VardecimalStorageFormatOn设置为false而不部署数据库属性,也会更新2008 db数据库。

知道为什么一个会工作而另一个不会?

由于

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,直到我在“Properties \ Database.sqlcmdvars”文件中更改了这一行...

<SqlCommandVariables xmlns="urn:Microsoft.VisualStudio.Data.Schema.Package.SqlCmdVars">

<SqlCommandVariables xmlns="urn:Microsoft.VisualStudio.Data.Schema.Package.SqlCmdVars" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

有趣的是,如果你改回来,它仍然有效。它可能是XML架构缓存的东西。

答案 1 :(得分:0)

出现同样的问题,直到我将GDR项目中的兼容性级别更改为SQL 2000(错误地),然后再次返回到2005。重建后,项目部署正常(到2008服务器)。

去图......

答案 2 :(得分:0)

要检查的另一个地方是数据库项目文件。

对于VS2012,对我来说,Visual Studio使用sqlproj文件中的相同设置覆盖sqlsettings文件中的VardecimalStorageFormatOn,并将项目设置复制到Model.xml部署设置文件。这导致了错误消息并阻止了部署,即使我在部署到兼容级别为100的SQL Server 2008时也是如此。