zoukankan      html  css  js  c++  java
  • access应用分享

            我最近开发了一个winform项目,用的是access数据库,当开发成功以后,有些电脑上就能正常运行,有些电脑就无法读取数据库文件,刚开始我以为是权限问题,后来我把安装程序卸载了,装在其它盘中(非C盘),奇迹发生了,正常运行,但是我又在其它电脑上安装不管是C盘还是其它盘都不行,后来我以为是电脑上没有安装ACCess的问题。后来我安装了ACCESS,也安装了Microsoft Data Access Components ,但是还是不行。

            后来我写了一个日志,看看了日志

    也就是说,不是我系统的问题,而是数据源的问题。

          那么既然是数据源的问题,我觉得还是从我的开发环境开始解决。 那么我的开发环境安装的是2010的access,而运行环境是2007和2013的。其实区别就在于版本不同。后来我就有一个疑问,如果用access数据库做开发,难道说运行环境必须要安装对应的Office吗?我网上找了一些资料,后来发现,其实在客户端我们其实是不需要安装office的,只需要安装一个ODBC的数据源驱动即可。(因为之前一直在用sql和oracle,相对于access是比较少的。所以这次遇到问题,虽然有点基础,但是还是让我有点小郁闷)
          但是我之前确实安装过了,AccessDatabaseEngine但是一直也没有什么卵用,一直不知道什么原因,在网上找了很多,大多是两个版本,第一个说的是,需要安装对应的office,第二个版本是不需要安装office,但是必须要安装一个ODBC的数据源驱动。其实从一开始我就不赞同第一种方案,因为我不可能让没有用户都去安装一个office,如果小的话还行,但是每一个最起码要1个多GB,这样太不现实。那么第二个方案真不知道哪里出了问题,一直没有什么头绪,后来我写了一个日志,报出来的错误就是“无法识别数据库格式“.accdb”",后来在office的官网上无意中发现一个问题,其实AccessDatabaseEngine也是有版本的,其中有Microsoft Access Database Engine 2007  Redistributable,Microsoft Access Database Engine 2010 Redistributable,Microsoft Access Database Engine 2010 Redistributable_X64等,后来我按照我本地的开发环境,下载了一个Microsoft Access Database Engine 2010 Redistributable后来奇迹终于发生了。

          虽然只是些基础的知识,希望对大家有用。

  • 相关阅读:
    ASP.NET 如何取得 Request URL 的各個部分
    正则表达式
    sql server 存储过程中拼接sql,转义单引号
    C# 过滤敏感字符
    Facebook “Invite” 弹出窗口
    Silverlight 4 动态换Theme
    silverlight 4 com组件调用
    Silverlight 4 COM+ 操作支持示例集
    如何创建silverlight离开浏览器的应用程序
    Silverlight 4 的 WCF NET.TCP 协议
  • 原文地址:https://www.cnblogs.com/rocky987/p/5147508.html
Copyright © 2011-2022 走看看