sql-server - 错误:无法解析来自名为“master.dacpac”的源对外部元素的引用
问题描述
我正在 Windows 机器上使用 sqlpackage 构建数据库 dacpac。该项目包含对master.dacpac
我将 dacpac 移动到 linux 机器(dockermssql-server-linux
映像)并恢复数据库。
部署数据库.sh
# publish dacpac using sqlpackage
./sqlpackage/sqlpackage /Action:Publish /sf:"/MyDb.dacpac" /tu:sa /tp:Password1 /tdn:MyDb /tsn:localhost
错误:
没有提供文件供参考 master.dacpac;部署可能会失败。创建包时,原始引用文件位于 C:$(windows 机器路径)\MASTER.DACPAC。Initializing deployment (Failed) 部署计划生成过程中出错。部署无法继续。错误 SQL0:无法解析来自名为“master.dacpac”的源对外部元素的引用,因为没有加载此类源。警告 SQL72025:没有为参考 master.dacpac 提供文件;部署可能会失败。创建包时,原始引用文件位于 C:$(windows 机器路径)\MASTER.DACPAC。
添加引用时出错。部署无法继续。命令“/bin/sh -c sh /deploy-database.sh”返回非零代码:1
我尝试master.dacpac
直接添加到项目中并将其复制到 docker 映像中,但发生了同样的错误。
如何在引用 master.dacpac 的 linux 环境中恢复 dapac?
解决方案
我有一个类似的问题,我的解决方案是重命名 dacpac 文件大写,(例如:)MASTER.DACPAC
这对我有用,以及使包含 dacpac 文件的目录成为工作目录。
推荐阅读
- c# - 例外:在 Linq 查询中进行类型转换时,可空对象必须有一个值
- snowflake-cloud-data-platform - 两次上传相同文件后,雪管无法正常工作
- arrays - 多维数组 - 同时获取每个元素的值
- java - 结果集中未包含“indexNullAs”的字段
- python - 不区分大小写,计算子字符串的数量
- php - PHP:将字符串转换为json数组
- xcode - Xcode11 编辑器(通过“将编辑器添加到右侧”)被禁用
- php - 实体关系仅返回带有 Symfony 的 ID
- mysql - 如何使用 mySQL 返回另一列中每个值的最常见列值?
- node.js - 从 github 拉取后,Npm 开发服务器将无法启动