比较 .Net 中的两个 .sdf 文件
我正在开发 Windows 应用程序,用户可以从中获取 .sdf 文件的备份,稍后用户将能够恢复 .sdf 文件。
在从我的 .Net 应用程序恢复文件之前,我想检查用户是否选择了有效文件(具有相同的数据库架构)。
因此,如果有人有想法这样做,请提出建议。
I am working on windows application from where user will be able to get the backup of .sdf file and later user will be able to restore the .sdf file.
Before file restoring file from my .Net application, I want to check whether user has selected valid file (having same database schema).
So if some one has idea to do this then please give suggestion.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 SqlCeConnections 连接到两个数据库,然后使用
GetSchema
命令检索有关表/列结构的数据。然后,您需要浏览表的内容并确保所有字段都匹配。您是否考虑过在数据库中使用某种带有兼容性列表的版本控制?例如,数据库中有一个表
Version
,其中包含单列/行的版本号,例如VersonNumber
。然后您的应用程序知道版本 1.05 - 1.09 彼此兼容,但 1.10 不兼容,等等。如果该Version
表完全丢失(或包含无效版本号),则您会自动知道这对于您的应用程序来说不是有效的 .sdf 文件。You can connect to the two databases with SqlCeConnections, then use the
GetSchema
command to retrieve data about table/column structure. Then you will need to walk through the contents of the tables and make sure all the fields match.Have you considered using some sort of versioning in your databases with a compatibility list? For instance, have a table
Version
with a single column/row of the version number in your database, sayVersonNumber
. Then your application knows that, say, version 1.05 - 1.09 are all compatible with each other, but 1.10 is not, etc. If thatVersion
table is missing completely (or contains an invalid version number), then you automatically know it is not a valid .sdf file for your application.