微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 由于数据丢失可能发生,模式更新正在终止

我不断碰到这个错误,这通常是由于在Lightswitch中构建应用程序时所犯的一些错误造成的.它通常与关系相关联.在我发布应用程序并看到错误之前,我通过移动并完成了许多工作.在这个时候,很难计算我做错了什么.有没有办法跟踪这个错误,看看我需要在表中更改?

Net sqlClient Data Provider: Msg 50000,Level 16,State 127,Line 6
Rows were detected. The schema update is terminating because data loss
might occur.

谢谢.

解决方法

当您对实体的属性(在表设计器中)进行的更改将导致发布数据库中的实体表被删除并发生时,会发生此错误.重新创建,表中有数据.这只是sql Server的工作方式,它不在LightSwitch的控制之下.然而,LightSwitch在谨慎的一面犯错,不允许可能导致任何数据潜在丢失的操作.

可能触发此类事物的类型有:

>重命名属性
>将其从需要更改为不需要等
>更改属性的数据类型
>&甚至(如果我记得正确的话)改变一个位置
属性列表中的属性

但是,您可以将属性添加属性列表的末尾,而不会触发表被删除&重建.

在尝试发布应用程序之前进行太多更改真的不是一个好主意,因为您建议的原因 – 最终不知道您做了什么.特别要在对实体的属性进行任何更改后发布.即使您刚刚发布到开发机器上的本地sql Server实例(包括sql Express),也可以在发布到生产服务器之前“测试”更改.

我已经解决了这个问题(当我习惯于使用LS的内在数据时,ApplicationData – 我现在使用附加的数据源)是手动使数据库本身的列更改,使用像SSMS(sql服务器管理Studio).然后,您可以决定允许(潜在的)数据丢失.小心,但你改变了,&确保它与LightSwitch中属性的更改完全相同.当然,请在对数据库进行任何更改之前备份.如果导致数据库与LightSwitch不同步,您将遇到重大问题.

原文地址:https://www.jb51.cc/mssql/82337.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐