【问题标题】:Deploy Windows Application with SQL database "security part"使用 SQL 数据库“安全部分”部署 Windows 应用程序
【发布时间】:2011-03-16 07:48:47
【问题描述】:

我想部署我用 c#(Express edition 2010)和 SQL server express edition 2008 编写的 Windows 应用程序,我想知道如何执行以下操作:

  1. 部署应用程序的步骤以及如何设置所有设置(我认为使用 express 版本只有一种方法单击一次方法,但如何设置它的设置?

  2. 在部署我的应用程序后,我必须在客户机器中设置或安装它(软件方面的要求)才能使其工作?

  3. 将我的数据库文件(MDF 和 LOg)放在客户机器 c: 或 D: 中的最佳位置是什么,以及如何防止任何人在不使用 Application 的情况下访问数据库,因为连接字符串是这样的:

    "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\FamilyHistory.mdf;Integrated Security=True;User Instance=True"
    
  4. 最后我想知道如何不时为数据库做备份,有没有自动的方法可以做到这一点,或者我必须从客户机器上复制它来手动进行。

【问题讨论】:

    标签: c# database security deployment


    【解决方案1】:

    您可以查看多种部署方法。您可以使用一次单击,但我强烈建议使用 NSIS(开源)之类的东西。您可以使用一个软件 HM NIS Edit(也是免费的),它为 .net 项目完成了艰苦的工作。在您自己的机器上尝试一下,然后您就会知道如何部署。我认为客户端是指您的客户而不是客户端/服务器类型的客户端?

    三个我相信的答案(虽然我现在很少做旧文件共享)你应该将文件放在 Windows 的临时文件夹中,但是,我愿意错了。

    这取决于您使用的数据提供程序,但是您只需创建一个 sqlcommand 对象(我相信您知道如何),然后在备份 sql 中输入如下内容:

    BACKUP DATABASE AdventureWorks2008R2 
    TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
    WITH FORMAT;
    GO
    

    我希望这有所帮助。

    【讨论】:

    • 非常感谢您的回复,我在客户的主要帖子表单中修改了客户,您是对的,我的意思是客户:)
    • 对于备份,您的意思是我可以在我的应用程序中创建一个名为备份的按钮,并且用户可以随时单击,对吗?
    • 关于防止任何人在没有我的应用程序的情况下访问它的安全性,有什么办法吗?我会尝试部署程序我感谢你的帮助谢谢丹尼尔:)
    • 是的,如果您在按钮处理程序中指定了一个运行上述 sql 的命令,那么安全性是一个巨大的主题。 msdn.microsoft.com/en-us/library/ms345149(v=sql.90).aspx
    • 但现在我遇到了问题:如果我进行了备份,然后在另一台计算机上重新安装我的应用程序,则会出现登录屏幕,其中包含用户名和密码,例如,如果我不这样做,如何登录和从数据库中读取一开始没有数据库,我想恢复它我希望你能理解我想说的话:S
    猜你喜欢
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    相关资源
    最近更新 更多