2017-08-28 108 views
0

我的下面的代码有什么问题?我正在尝试编写一个批处理文件来发布一个数据库项目。如果我硬编码修补程序和文件位置它工作正常。但一些我不能得到这个工作。 我得到的错误是连接变量和字符串批处理文件

*** Argument 'SourceFile' has an invalid value: ''. 
*** Argument 'Profile' has an invalid value: ''. 

我有下面的代码目前。

SET SourceCodePath = "C:\SourceCode\Dev\Code" 
SET DACPACPath = %SourceCodePath%\Source\Data Service\SQL2014\bin\Debug\SQL2014.dacpac 
SET ProfilePath = %SourceCodePath%\Data Service\SQL2014\SQL2014.Local.publish.xml 
ECHO %ProfilePath% 
ECHO %DACPACPath% 
"c:\Program Files (x86)\Microsoft SQL Server\120\dac\bin\SqlPackage.exe" /Action:Publish /SourceFile:%DACPACPath% /Profile:%ProfilePath% 
PAUSE 
+2

您的问题不说出你的意思是“得到这个工作”,但一个明显的问题是%ProfilePath%包含一个空格,而你没有讽刺它。 – Joe

+0

@Joe:对不起。已经更新了现在的问题。 – ckv

+1

您是否尝试过引用路径:/ SourceFile:“%DACPACPath%”/ Profile:“%ProfilePath%” – Joe

回答

1

命令

SET SourceCodePath = "C:\SourceCode\Dev\Code" 

末创建一个空白字符称为SourceCodePath变量

因此,改变你的SET命令

SET SourceCodePath=C:\SourceCode\Dev\Code 
SET DACPACPath=%SourceCodePath%\Source\Data Service\SQL2014\bin\Debug\SQL2014.dacpac 
.... 
+0

我尝试根据您的建议,但仍然得到相同的输出。 – ckv