【问题标题】:Deploy warning SQL46010: Incorrect syntax near .. when publishing an SQL Server project部署警告 SQL46010:发布 SQL Server 项目时.. 附近的语法不正确
【发布时间】:2020-06-24 15:29:33
【问题描述】:

项目将成功构建,但不会发布。

命令:

msbuild /t:Publish /p:SqlPublishProfilePath="ENV.publish.xml" "MyDB.sqlproj"

在发布 XML 中,我的配置包括:TargetDatabaseName、DeployScriptFileName 和 TargetConnectionString。

运行此命令时的确切错误是:

MSSQL::-1121(252,40,252,40): Deploy warning SQL46010: Incorrect syntax near .. [C:\Solution\MyDB\MyDB.sqlproj]

在 VS 2017 Pro 中,我可以使用相同的配置文件发布项目而不会出现问题。

数据库项目基于 SQL Server 2014。

为 .NET Framework 构建引擎版本 15.9.21+g9802d43bc3

当项目设置为任何 .NET Framework 版本时会出现该错误,包括 4.5-4.8。

【问题讨论】:

  • 检查您的 SQL 以获取 .. 的实例。也许在某处缺少架构?
  • 部分存储过程中有..的有效实例,但生成的发布脚本中没有。
  • 您是否尝试在 SQL Server Management Studio 中运行生成的脚本,它可能会让您更接近问题?
  • 我必须启用 SQLCMD 模式,但它可以工作。请注意,即使没有任何更改,它也不起作用。生成的脚本只检查 SQLCMD 模式,然后打印“更新完成”。我正在努力寻找要查找的文件以找到导致错误的..。 1121(252,40,252,40) 指的是什么?

标签: .net sql-server msbuild publish


【解决方案1】:

在 Visual Studio 中很难找到哪个 DB 对象有语法错误。

我能够通过在 Microsoft SQL Server Management Studio 中提取数据层应用程序来解决这个问题。错误记录很冗长,而是给了我消息:Warning SQL 46010: Error validating element [dbo].[StoredProcedureCausingTheIssue]: Incorrect syntax near ..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2017-07-15
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多