很多MySQL用户都有过将Access移植到MySQL的计划,不过这个移植过程性能和实践的相关描述资料很少。本文将为大家总结将Access应用程序成功移植到MySQL的要点和注意事项。

由于Access应用程序往往是以即席(ad hoc)模式创建的,移植难度很大。MySQL用户通常会遇到的两个移植问题是:第一,数据移植问题,由于Access模式设计较差,数据质量很低,往往会造成数据转换过程很复杂;第二,应用程序移植问题,Access应用程序中的窗体和报表常包含了逻辑或设计错误,不可能实现这些文件的自动转换。

成功的移植途径要完成以下三个基本任务:重构模式、清洗数据和重写应用程序。

从Access到MySQL的移植动因

Access数据库由于其操作简单易用,成本较低在中小企业中的市场非常广阔。中等技术程度的部门开发人员都会把Access作为数据库开发的默认选择。大家往往通过将企业数据下载到Excel里,然后将电子表格转换成Access数据库,然后添加即席窗体和报表来构建Access应用程序。由于这些程序由用户组织构建的,所以往往缺乏对数据形式的要求。

在Access应用软件移植上,MySQL用户面临的压力越来越大,包括以下几个方面:

数据质量低下:Access应用程序常常包含了过期的企业数据或来自拙劣定义模式下的损坏数据;

安全性能低下:Access应用程序没有嵌入企业安全组件,不允许进行类似于基于角色的访问控制等的高级安全设置;

可管理性有限:网络技术无法集中管理Access应用程序;

沒有基于网络发布机制:Access应用程序无法通过网络进行访问;

不符合SOX依从性:企业的审核程序往往会把Access应用程序看作是一个重要的风险来源。

数据移植问题

MySQL本身提供了一个数据移植工具—— MySQL Migration Tool。不过这个工具实际上和待转换的数据库的基本模式和数据一样并不好用。而Access的模式和数据质量问题太过深入且普遍存在,所以MySQL用户常常会发现在MySQL从头开始重建数据模式还有来得更容易些。

Access移植过程中最两个常见的与数据质量相关的问题是:

1. Access数据模式不是基于SQL的模式:Access开发人员往往不熟悉SQL模式设计基础。MySQL的数据库管理员会发现,Access模式类似于Excel的电子表格,而和典型的SQL模式相去甚远。例如,这种模式缺乏主键、外键和参照完整性约束。

2. Access数据“不干净”:Access数据库中往往包含很多毁坏的数据,其中部分原因是由于没有对表进行严格定义。有MySQL用户曾经发现在一个Access数据库中,在本来应该是日期字段的区域填入的却是文本字符串。

应用程序移植问题

成功把数据从Access接入到MySQL仅仅解决了一部分问题,还需要处理与Access应用程序相关的窗体和报表问题。此外,你可以把多个Access应用整合成一个web应用;同样的,还可以把多个Access窗体整合成一个网页。虽然可以用ODBC从Access存取MySQL数据,不过大多数MySQL用户还是选择重新编写应用程序。其中的原因包括:

质量问题:鉴于原始的Access应用程序不是由专业的编程人员写的,MySQL用户对其逻辑可行性往往持有怀疑态度。

想要是应用程序适用于网络:大多数MySQL用户都想把Access应用程序转换成动态的网络架构。

出于安全要求:MySQL用户往往希望为程序加入企业级的安全特性,例如Siteminder/LDAP验证和基于角色的访问控制机制等。

虽然有现成的工具可以将Access应用程序自动转换成Java,不过大部分MySQL用户发现自动转换的成功率很低。一条可行的途径是使用类似于PHP的编程语言或ActiveGrid这样的web 2.0 visual builder来接入Access应用程序。

移植实务:从Access到MySQL.doc

下载Word文档到电脑,方便收藏和打印[全文共1509字]

编辑推荐:

下载Word文档

java access转mysql_移植实务:从Access到MySQL相关推荐

  1. access升级mysql_将现有的Access数据库升级为SQL

    很多Access和SQL Server开发人员都经常面临着将一个Access数据库升级到SQL Server数据库的问题.由于存在现有的Access升级向导,这一转变的过程就会变得相当简单,尤其是当你 ...

  2. bootstrap 空行不显示横杠_Microsoft Access报告最后显示空行(Microsoft Access report shows empty row at the end)...

    Microsoft Access报告最后显示空行(Microsoft Access report shows empty row at the end) I have an Access report ...

  3. access中总计为first_用Access开发生产管理系统

    刚接触Excel,自以为已经对数据的处理掌握到炉火纯青的地步了,殊不知,山外有山人外有人,自从学习了Access,才发现,原来,数据的处理还真不是我们日常工作中所遇到的那么简单.下面,我就讲一下个人学 ...

  4. dwasp连接mysql_asp连接access数据库代码(ASP连接ACCESS数据库方式方法)包含.mdb和.accdb两种格式...

    [全站通告]如需要一对一人工服务-请加微信以及QQ(2589053300) 接了一个毕业设计,用ASP链接ACC数据库的,而且还是用dw+dns方式链接的,这可如何是好的调试,没办法,就做了以下的测试 ...

  5. Oracle执行计划。RBO优化器和CBO优化器。TABLE ACCESS FULL,TABLE ACCESS BY INDEX ROWID,TABLE ACCESS BY INDEX SCAN

    文章目录 通过PL/SQL Developer查看查询的执行计划 1. 什么是执行计划 2. 配置执行计划需要显示的项 3执行计划的常用列字段解释 4. 使用执行计划 5. 查看执行计划 5.1 执行 ...

  6. 计算机二级新题access,2018年计算机二级考试Access试题及答案二

    2017年计算机等级考试已经结束,出国留学网为考生们整理了2018年计算机二级考试Access试题及答案,希望能帮到大家,想了解更多资讯,请关注小编的及时更新哦. 2018年计算机二级考试Access ...

  7. 【NOMA】Non-Orthogonal Multiple Access (NOMA) for Cellular Future Radio Access(NOMA 原理)

    文章目录 NOMA 相较于 OFDM 的进步 技术特点 数学原理 SIC接收机 SIC decoding and SINR 和OFDMA的对比 配套技术 性能影响因素 更多关于NOMA的论文解读请见本 ...

  8. java计算机毕业设计学生宿舍信息管理源码+系统+mysql数据库+lw文档

    java计算机毕业设计学生宿舍信息管理源码+系统+mysql数据库+lw文档 java计算机毕业设计学生宿舍信息管理源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B/S架构 开发语 ...

  9. java计算机毕业设计自习室座位预约管理源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计自习室座位预约管理源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计自习室座位预约管理源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B ...

最新文章

  1. 85.路由器和电脑的设置
  2. python爬虫在哪里学_学完了python基础想学习python爬虫从哪里学起呢?
  3. wxWidgets:wxVariantDataCurrency类用法
  4. PID控制器开发笔记之八:带死区的PID控制器的实现
  5. IIS虚拟目录实现与文件服务器网络驱动器映射共享
  6. Java split 分割 字符串(分隔符如:* ^ : | , .) 及注意点 要转义
  7. 计算机科学常见工具书清单、项目开发清单
  8. PossibleSums
  9. 毕设题目:Matlab通信
  10. mysql存储food_Mysql存储过程
  11. 微软的补丁服务器,Microsoft 安全公告 MS17-010 - 严重
  12. 如何演示扇形面积公式推导过程
  13. D和弦的音阶在尤克里里上应该怎么按?
  14. [MATLAB]--数据插值(interp1/2多维插值)
  15. BIM在工程中的20种典型功能
  16. excel高级筛选怎么用_如何用excel在筛选状态下怎么复制粘贴?
  17. 使用node-red通过MQTT传送数据
  18. Oracle函数获取汉字的首字母
  19. Eclips中安装Git 插件
  20. 使用zinnia+qml制作手写输入法

热门文章

  1. access2007 定义了过多字段_定义了过多的字段错误 | Microsoft Docs
  2. 【CVPR 2020】化繁为简,弱监督目标定位领域的新SOTA - 伪监督目标定位方法(PSOL)...
  3. 【译】微软如何进行代码审查
  4. 英语笔记2016.8.1
  5. ORA-00607 Internal error occurred while making a change to a data block处理
  6. 我的AA字体美化方法【方正圆体字】(转)
  7. 实现数组转对象(reduce)
  8. 机器学习系列4---RVM(相关向量机)MATLAB实现
  9. oracle to_char(_fm09),oracle to_Char fm 函数
  10. 富士变频器电路图 富士达IDU412变频器原理图