database-project - 执行 DACPAC 文件时出错(使用 sqlpackage.exe)
问题描述
使用 SQLPackage 执行 DACPAC 文件时出现以下错误。
必须添加表 [dbo].[Temp] 上的列 [dbo].[Temp].[GMTOffset],但该列没有默认值并且不允许 NULL 值。如果表包含数据,则 ALTER 脚本将不起作用。要避免此问题,您必须:向列添加默认值,将其标记为允许 NULL 值,或启用智能默认值的生成作为部署选项。
PowerShell 脚本 - & $using:SqlPackagePath /Action:Publish /tu:$using:DatabaseUsername /tp:$using:DatabasePassword /tsn:$using:ServerInstance /tdn:"$_" /sf:$using:DacpacLocation /p: BlockOnPossibleDataLoss=False
我在数据库项目的发布配置文件中设置了“在适用时生成智能默认值”设置,并在编译项目后执行 PowerShell 脚本,但是仍然出现此错误。任何指示或帮助将不胜感激。
解决方案
正如@Peter 也提到的,在命令行上指定此选项后,此错误已得到解决,如下所示。
& $using:SqlPackagePath /Action:Publish /tu:$using:DatabaseUsername /tp:$using:DatabasePassword /tsn:$using:ServerInstance /tdn:"$_" /sf:$using:DacpacLocation /p:GenerateSmartDefaults=True /p:BlockOnPossibleDataLoss=False
推荐阅读
- html - 静态页面不会显示在 Blogger 的“页面小工具”中。需要 Css 来启用显示汇总
- sas - 如果家庭电话号码与 SAS 中的手机号码相同,我该如何删除?
- python - 将闭合轮廓(点数组)转换为实体 3d 平面
- python - 如何在不影响python中的(引用)地址的情况下更改列表的内容?
- r - 如何使用单选按钮来改变 R Shiny 应用程序中的下拉菜单?
- sat - SAT 正常结膜形式
- firebase - 在另一个(onPressed)函数中使用来自 Firebase 数据的 ListView 的键
- python - 有没有办法在时间戳上加入两个具有偏移量的数据集,以便将 time_1 与 time_2 连接起来,其中 time_2 比 time_1 早 2 小时?
- javascript - 使用 match.params 时如何停止重新加载或重新渲染组件
- fortran - 我的代码给了我大约 10^-38 的随机数,但我没有使用任何随机函数