我创建了一个基于SQL DB的winforms应用程序,我想在客户端计算机上部署它。该程序是单用户桌面应用程序。
this帖子中的意见表明,在这种情况下使用SQLite或SQL Server Compact Edition会更好。但是,我更喜欢使用这些产品不支持的存储过程。
我的问题是关于安全问题:
答案 0 :(得分:2)
.mdf没有像.mdb那样执行。换句话说,您不需要使用密码配置.mdf文件,因为SQL Server将处理身份验证和授权的安全性。
不幸的是,访问对于您坚持使用存储过程的愿望无济于事。
建议在应用程序旁边部署SQL Server Express时存在太多潜在问题。在这种情况下,value of stored procs, 可能不足以保证安装SQL Server Express的麻烦。
评估那些存储过程中正在进行的工作。它们只是CRUD,还是更复杂。 您在此单用户应用中存储过程的原因是什么?
考虑将您的应用程序重新设计为:
平衡重构时间与潜在的客户支持问题!
请考虑blogpost by Steve Lasker (Stored Procedures & SQL Server Compact-The Great Debate)。在评估存储过程是否适合客户端应用程序的工作时,它有一些很好的见解。
一些更新:
听起来你正试图避免那种.mdf失控。你可以采取一些措施来锁定数据 - 加密数据,但是没有100%的解决方案可以避免你的.mdf被带到其他地方。当你发表评论时,一旦它出现在客户手中,它就会超出你的范围。 :)
答案 1 :(得分:1)
您可能希望浏览this technet article讨论使用自定义应用程序的SQL Server 2005 Express部署。