NoS*_*ler 9 sqlcmd sql-server-data-tools visual-studio-2017
在SSDT项目中(使用VS2017/VS2015,SSDT版本15.1.61702.140),我无法构建我的项目.编译器一直在我的PostDeploymentScript中抱怨sql语句(是的,我已经将BuildAction属性设置为PostDeploy).sql语句是:
if ('$(env)' = 'dvp')
BEGIN
PRINT 'creating users for dvp'
:r .\SecurityAdditions\usersdvp.sql
END
ELSE IF ('$(env)' = 'qat')
BEGIN
PRINT 'creating users for qat'
:r .\SecurityAdditions\usersqat.sql
END
Run Code Online (Sandbox Code Playgroud)
实际的错误消息是:
D:\My\File\Path\PostDeploymentScript.sql (lineNum, col): Error: SQL72007:
The syntax check failed 'Unexpected end of file occurred.' in the batch near:
Run Code Online (Sandbox Code Playgroud)
在最后一行(结束)的错误消息中引用的行号.知道是什么导致了这个吗?
NoS*_*ler 11
显然问题是由于GO
我在引用的文件中的语句.有GO
内部语句if else
块是无效的.这是一篇解释这一点的文章.我能够通过GO
从引用的文件中删除所有语句并将其拆分if else
为两个来使其工作if
.
IF ('$(env)' = 'dvp')
BEGIN
:R .\SecurityAdditions\UsersDVP.sql
END
IF ('$(env)' = 'qat')
BEGIN
:R .\SecurityAdditions\UsersQAT.sql
END
GO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3004 次 |
最近记录: |