从命令行构建一个面向SQL Server 2012的数据库项目

时间:2012-08-28 10:21:37

标签: visual-studio command-line build sql-server-2012 database-project

我在Visual Studio 2010中有一个针对SQL Server 2012的数据库项目,并且至少有一个存储过程使用新语法来重新抛出错误(“THROW;”)

尝试从命令行构建项目,如下所示:

msbuild /t:Build MyDatabaseProject.dbproj

输出:

Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.269]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 28.08.2012 13:14:23.
Project "F:\My\Path\MyDatabaseProject.dbproj" on node 1 (Build target(s)).
DspBuild:
  Creating a model to represent the project...
  Loading project files...
  Building the project model and resolving object interdependencies...
  Validating the project model...
F:\MY\PATH\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\SOMEPROC.PROC.SQL(95,3,95,3): Build error SQL02010: Incorrect syntax near THROW. [F:\My\Path\MyDatabaseProject.dbproj]
...

我的猜测是我应该添加一个参数来指定SQL Server 2012 T-SQL方言,但我不确定。

从Visual Studio构建项目没有任何问题。


更新:我不确定我的项目类型。项目属性如下:

enter image description here

其他数据:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

看起来您正在使用仅支持SQL Server 2008的旧数据库项目类型。有一种新的数据库项目类型支持SQL Server 2012(通用名称为“SQL Server数据库项目”) Visual Studio 2010,您可以将其作为SQL Server Data Tools的最新版本的一部分进行安装。

新项目类型需要使用不同的命令行语法,您可以找到here

顺便说一下,Visual Studio可以轻松地将现有数据库项目转换为新项目类型。