asp.net - 为什么Jet OLEDB驱动程序缓存我的MDB文件?

标签 asp.net ms-access

我有一个使用Access文件的Cassini应用程序。更新的安装程序将覆盖应用程序和数据库。但是,即使系统重新启动,应用程序仍然可以看到旧数据。 (还手动复制了MDB文件,以确保已替换该文件,但无济于事。)

应用程序查看新MDB数据的唯一方法是将其安装到新文件夹中。

连接字符串是标准的(我认为):

Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
    HttpContext.Current.Server.MapPath("App_Data\\" +
    ConfigurationManager.AppSettings.Get("dbfile")) + ";Jet OLEDB:Database Password=xxxx";

知道发生了什么事以及如何避免缓存问题吗?

更新(以回答评论中的一些问题):
  • 我们只能在Windows 7上重现此问题。
  • cassini应用程序永远不会更新
  • MDB。我们创建数据库并将其发送给用户。 -我们确实确保该文件已成功被安装程序替换。实际上,如果我们手动更换它,也会发生同样的事情。
  • Windows重新启动后,问题仍然存在。
  • 最佳答案

  • 转到解决方案资源管理器
  • 选择mdb文件
  • 转到属性,只有一个属性
  • 如果要更新
  • ,请不要将其设置为“复制”

    关于asp.net - 为什么Jet OLEDB驱动程序缓存我的MDB文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8266172/

    相关文章:

    asp.net - $.ajaxFileUpload 与 Canvas 一起使用

    asp.net - 自托管 ASP.NET Web API 2 REST 服务的 token 身份验证和授权

    c# - 向sql数据库添加数据?使用odbc

    asp.net - 堆栈跟踪 : how to show only my code?

    c# - 使用 OLE-DB 从数据库读取附加文件

    javascript - 无法为 <label> 标记内的单选按钮注册更改处理程序

    ms-access - 删除字符串中最后一个空格后的最后一个字符

    c# - 实时数据库不接受十进制值

    sql-server - 使用 Access 作为 SQL Server 的前端并具有暂存表

    php - 从mdb文件导入数据到mysql数据库无法上传数据