我有一个dev.profile.xml
文件,用于设置用于构建 dacpac 等的环境级别值。我在此发布配置文件中定义了一个 sqlcmd 变量,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<!-- <IncludeTransactionalScripts>True</IncludeTransactionalScripts> -->
<DeployScriptFileName>deploy.sql</DeployScriptFileName>
<ExcludeUsers>True</ExcludeUsers>
<ExcludeLogins>True</ExcludeLogins>
<ExcludeDatabaseRoles>True</ExcludeDatabaseRoles>
<CreateNewDatabase>False</CreateNewDatabase>
<BlockOnPossibleDataLoss>False</BlockOnPossibleDataLoss>
<DropObjectsNotInSource>False</DropObjectsNotInSource>
<DoNotDropLogins>True</DoNotDropLogins>
<DoNotDropUsers>True</DoNotDropUsers>
<DoNotDropRoleMembership>True</DoNotDropRoleMembership>
<DoNotDropApplicationRoles>True</DoNotDropApplicationRoles>
<DoNotDropDatabaseRoles>True</DoNotDropDatabaseRoles>
<DoNotDropPermissions>True</DoNotDropPermissions>
<TargetConnectionString>Data Source=xxxx;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;Integrated Security=False;Trusted_Connection=False</TargetConnectionString>
<TargetDatabaseName>xxxx</TargetDatabaseName>
<TargetResourceGroup>xxxx</TargetResourceGroup>
<ProfileVersionNumber>1</ProfileVersionNumber>
</PropertyGroup>
<ItemGroup>
<SqlCmdVariable Include="ADLSSeedLocation">
<DefaultValue>abfss://staging@xxxx.dfs.core.windows.net</DefaultValue>
<Value>abfss://staging@xxxx.dfs.core.windows.net</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
我使用这个变量来创建External Data Source
如下:
CREATE EXTERNAL DATA SOURCE [AzureDataLakeStorage]
WITH (
TYPE = HADOOP,
LOCATION = N'$(ADLSSeedLocation)',
CREDENTIAL = [dummycreds]
);
但是每次我运行 build、driftreports 等时,我都会收到以下警告和错误:
*** The following SqlCmd variables are not defined in the target scripts: ADLSSeedLocation.