【问题标题】:What is the best way to publish c# app with PreLoaded Sql Server Express Database使用 PreLoaded Sql Server Express 数据库发布 c# 应用程序的最佳方式是什么
【发布时间】:2009-01-17 18:31:53
【问题描述】:

我想将我的 C# 应用程序与 SQL Server Express 2005 和应用程序对应的数据库一起分发。安装 SQL Server Express 2005 后,我的示例数据库需要在安装时自动加载数据,而不仅仅是表结构。我怎样才能做到这一点。

有没有办法使用 Visual Studio Click Once 技术来做到这一点?我有 VS 2008。

【问题讨论】:

    标签: c# .net sql sql-server publish


    【解决方案1】:

    有几种方法可以做到这一点 - 正如 JFV 所提到的,您可以提供 MDF/LDF 数据库并在安装后重新附加它。

    或者你可以将你的数据库创建脚本打包到一个 .NET 项目和/或独立的 EXE 中,比如 Red-Gate 的SQL Packager

    再一次,在 SQL Server Express 上,您可以简单地将 MDF 文件添加到目录中,然后使用 ADO.NET 中的“附加本地数据库文件”机制连接到您的数据库文件。您的连接字符串如下所示:

    Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;

    您的选择! :-)

    【讨论】:

      【解决方案2】:

      如果您可以运行创建表的 SQL 脚本,那么该脚本不能也插入行吗?

      【讨论】:

        【解决方案3】:

        如果每次安装的基本示例数据都相同,您可以包含一个分离的 MDF/LDF,并在安装时将其附加到新的 SQL Express 实例。或者你可以在安装后恢复一个数据库的BAK文件...?

        如果这有帮助,请告诉我!
        捷豹路虎

        【讨论】:

        • 有没有办法使用 C# 应用程序中的代码恢复 SQL Server 中的 BAK 文件,还是必须手动执行。
        • 这里是参考使用 VB.NET 的好地方:shabdar.org/sql-server-backup-utility.html 将其移植到 C# 以自动恢复示例数据库的 BAK 文件应该没有任何问题。我对 C# 不太熟悉,或者我会为您转换它。谢谢!
        猜你喜欢
        • 1970-01-01
        • 2020-12-31
        • 2011-04-28
        • 1970-01-01
        • 1970-01-01
        • 2021-07-06
        • 1970-01-01
        • 1970-01-01
        • 2020-05-13
        相关资源
        最近更新 更多