SQL 16010:在数据库项目上使用 :r 后语法不正确

Posted

技术标签:

【中文标题】SQL 16010:在数据库项目上使用 :r 后语法不正确【英文标题】:SQL16010: Incorrect syntaxt after using :r on a database project 【发布时间】:2017-10-10 16:18:44 【问题描述】:

我有一个具有以下结构的数据库项目

当我尝试发布配置文件时,VS 之前编译了解码代码并显示以下错误:

SQL46010: 附近的语法不正确。

我在我的 VS 配置中为 SQLCMD 启用了此选项

我的 OneTimeMaster.sql 看起来在 :r 之后还有另一个错误,代码如下所示

:setvar 路径 ".\Sprint 1.11" :r $(路径)\Header.sql

我怎样才能让它运行以获取生成的脚本。

【问题讨论】:

【参考方案1】:

我假设您的部署后或部署前脚本指向您的 OneTimeMaster.sql,在这种情况下,如果您激活了 SQLCMD,则部署前和部署后 sql 不会有任何错误,但是当您尝试进行构建看起来就像编译器将其他文件解释为没有 SQLCMD 命令的常规 sql。我测试了您的方案,并且能够生成脚本的方式是将 OneTimeMaster.sql 和所有 subsql 文件的属性操作更改为无。这样做生成的脚本合并了您的 Testing1.sql 和 Testing2.sql。希望这会有所帮助

【讨论】:

以上是关于SQL 16010:在数据库项目上使用 :r 后语法不正确的主要内容,如果未能解决你的问题,请参考以下文章

关于蛇的歇后语大全

大显身手的前一句歇后语

偷鸡不成蚀把米歇后语的答案

项目中优化sql语句执行效率的方法是啥?

使用R,如何在SQL Server数据库上获取“dbo”参数?

在 Linux Centos 6.6 上使用 R 连接到 SQL Server