.net 分析dacpac docker microsoft sql server时出错
我正在尝试使用dockerfile文件并使用dacpac创建映像,但当我尝试执行发布时,它会引发此异常:分析连接字符串时出错:“Microsoft.SqlServer.Dac.DacProfile”的类型初始值设定项引发异常。。 这是我的文件.net 分析dacpac docker microsoft sql server时出错,.net,sql-server,docker,dockerfile,dacpac,.net,Sql Server,Docker,Dockerfile,Dacpac,我正在尝试使用dockerfile文件并使用dacpac创建映像,但当我尝试执行发布时,它会引发此异常:分析连接字符串时出错:“Microsoft.SqlServer.Dac.DacProfile”的类型初始值设定项引发异常。。 这是我的文件 FROM microsoft/mssql-server-windows-express COPY sqlpackage/1033 /opt/sqlpackage/1033 COPY sqlpackage/Extensions /opt/sqlpackag
FROM microsoft/mssql-server-windows-express
COPY sqlpackage/1033 /opt/sqlpackage/1033
COPY sqlpackage/Extensions /opt/sqlpackage/Extensions
COPY sqlpackage/en /opt/sqlpackage/en
COPY sqlpackage/DacUnpack.exe /opt/sqlpackage/DacUnpack.exe
COPY sqlpackage/Microsoft.Data.Tools.Schema.Sql.dll/ /opt/sqlpackage/Microsoft.Data.Tools.Schema.Sql.dll
COPY sqlpackage/Microsoft.Data.Tools.Utilities.dll /opt/sqlpackage/Microsoft.Data.Tools.Utilities.dll
COPY sqlpackage/Microsoft.SqlServer.Dac.dll /opt/sqlpackage/Microsoft.SqlServer.Dac.dll
COPY sqlpackage/Microsoft.SqlServer.Dac.Extensions.dll /opt/sqlpackage/Microsoft.SqlServer.Dac.Extensions.dll
COPY sqlpackage/Microsoft.SqlServer.Dac.Extensions.xml /opt/sqlpackage/Microsoft.SqlServer.Dac.Extensions.xml
COPY sqlpackage/SqlPackage.exe /opt/sqlpackage/SqlPackage.exe
COPY sqlpackage/SqlPackage.exe.config /opt/sqlpackage/SqlPackage.exe.config
COPY ./HAS_Database /tmp/HAS_Database
ENV ACCEPT_EULA=Y
ENV SA_PASSWORD=PaSSw0rd
RUN /opt/sqlpackage/sqlpackage /a:Publish /pr:'/tmp/HAS_Database/has.aux.ddbb.dev.publish.xml' /sf:'/tmp/HAS_Database/has.aux.ddbb.dacpac'
这是我的发布文件:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseName>HAS_ME_AUX_DEV_DEPLOY</TargetDatabaseName>
<ScriptDatabaseOptions>False</ScriptDatabaseOptions>
<BlockOnPossibleDataLoss>False</BlockOnPossibleDataLoss>
<DropIndexesNotInSource>True</DropIndexesNotInSource>
<DropExtendedPropertiesNotInSource>True</DropExtendedPropertiesNotInSource>
<ProfileVersionNumber>1</ProfileVersionNumber>
<BlockWhenDriftDetected>False</BlockWhenDriftDetected>
<RegisterDataTierApplication>True</RegisterDataTierApplication>
<TargetConnectionString>Data Source=.;Integrated Security=False;Persist Security Info=True;User ID=sa;Pooling=False;Context Connection=False;Password=PaSSw0rd</TargetConnectionString>
<VerifyDeployment>False</VerifyDeployment>
<VerifyCollationCompatibility>False</VerifyCollationCompatibility>
<ScriptRefreshModule>False</ScriptRefreshModule>
<ScriptNewConstraintValidation>False</ScriptNewConstraintValidation>
<PopulateFilesOnFileGroups>False</PopulateFilesOnFileGroups>
<DisableAndReenableDdlTriggers>True</DisableAndReenableDdlTriggers>
<DoNotAlterChangeDataCaptureObjects>True</DoNotAlterChangeDataCaptureObjects>
<DropStatisticsNotInSource>False</DropStatisticsNotInSource>
<DeployScriptFileName>publish_dev.sql</DeployScriptFileName>
</PropertyGroup>
</Project>
真的
我和辅助开发人员部署了吗
假的
假的
真的
真的
1.
假的
真的
数据源=。;综合安全=假;持久安全信息=True;用户ID=sa;池=假;上下文连接=False;密码=PaSSw0rd
假的
假的
假的
假的
假的
真的
真的
假的
发布\u dev.sql
dockerfile中的源sqlpackage二进制路径看起来可疑。下载,解压缩到构建上下文目录中名为sqlpackage的目录中,并将该目录复制到容器中,以便在构建中使用
下面是一个适用于我的dockerfile示例:
FROM microsoft/mssql-server-windows-express
COPY ./sqlpackage /opt/sqlpackage/
COPY ./HAS_Database /tmp/HAS_Database
ENV ACCEPT_EULA=Y
ENV SA_PASSWORD=PaSSw0rd
RUN /opt/sqlpackage/sqlpackage /a:Publish /pr:'/tmp/HAS_Database/has.aux.ddbb.dev.publish.xml' /sf:'/tmp/HAS_Database/has.aux.ddbb.dacpac'