【问题标题】:Where is the SQL Server Compact file?SQL Server Compact 文件在哪里?
【发布时间】:2011-11-12 16:11:24
【问题描述】:

我有一个使用 SQL Server Compact 数据库的 ASP.NET MVC 项目。我的FoobarContext 有以下连接字符串:

<add name="FoobarContext"
 connectionString="Data Source=|DataDirectory|Foobar.sdf"
 providerName="System.Data.SqlServerCe.4.0"/>

我启动了该项目,它似乎按预期保留了数据。但是,我在任何地方都找不到名为“Foobar.sdf”的文件。我错过了什么?

更新: 它没有占用我的连接字符串。设置断点,查看上下文,发现它的ConnectionString其实是这样的:

Data Source=.\\SQLEXPRESS;Initial Catalog=MvcApplication3.Infrastructure.Data.FoobarContext;Integrated Security=True;MultipleActiveResultSets=True

谜团解开了。

【问题讨论】:

    标签: c# sql-server-ce


    【解决方案1】:

    它应该位于 MVC 项目根目录下名为 App_Data 的文件夹中。

    【讨论】:

    • 这是我的预期,但没有 sdf 文件。有一个名为“ASPNETDB.MDF”的文件和一个名为“aspnetdb_log.ldf”的文件。
    • 这个问题应该可以帮到你stackoverflow.com/questions/1268738/…
    • 我可以在磁盘上找到 App_Data 文件夹。只是找不到预期的 sdf 文件。
    • 太好了,我知道你的意思,我想如果你能显示应用程序正在使用的 App_Data 路径,它可能会给你一个关于文件在哪里的线索
    • 或者在上下文中放置一个断点并查看连接字符串,看看它是否为您提供有关位置的任何线索
    【解决方案2】:

    默认情况下肯定应该是~/App_Data,但你可以尝试运行AppDomain.CurrentDomain.GetData("DataDirectory") 来查看ASP.Net 认为该目录存在的位置。

    如果这没有显示任何感兴趣的内容,您可能需要确保将 Windows 资源管理器设置为显示隐藏文件,以防万一您看不到该文件。

    【讨论】:

      【解决方案3】:

      你应该对项目中的 app 文件夹吝啬,你会在里面找到的数据库文件。

      问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-01
        • 1970-01-01
        相关资源
        最近更新 更多