由于Access應(yīng)用程序往往是以即席(ad hoc)模式創(chuàng)建的,移植難度很大。MySQL用戶通常會遇到的兩個(gè)移植問題是:第一,數(shù)據(jù)移植問題,由于Access模式設(shè)計(jì)較差,數(shù)據(jù)質(zhì)量很低,往往會造成數(shù)據(jù)轉(zhuǎn)換過程很復(fù)雜;第二,應(yīng)用程序移植問題,Access應(yīng)用程序中的窗體和報(bào)表常包含了邏輯或設(shè)計(jì)錯(cuò)誤,不可能實(shí)現(xiàn)這些文件的自動轉(zhuǎn)換。
成功的移植途徑要完成以下三個(gè)基本任務(wù):重構(gòu)模式、清洗數(shù)據(jù)和重寫應(yīng)用程序。
從Access到MySQL的移植動因
Access數(shù)據(jù)庫由于其操作簡單易用,成本較低在中小企業(yè)中的市場非常廣闊。中等技術(shù)程度的部門開發(fā)人員都會把Access作為數(shù)據(jù)庫開發(fā)的默認(rèn)選擇。大家往往通過將企業(yè)數(shù)據(jù)下載到Excel里,然后將電子表格轉(zhuǎn)換成Access數(shù)據(jù)庫,然后添加即席窗體和報(bào)表來構(gòu)建Access應(yīng)用程序。由于這些程序由用戶組織構(gòu)建的,所以往往缺乏對數(shù)據(jù)形式的要求。
在Access應(yīng)用軟件移植上,MySQL用戶面臨的壓力越來越大,包括以下幾個(gè)方面:
數(shù)據(jù)質(zhì)量低下:Access應(yīng)用程序常常包含了過期的企業(yè)數(shù)據(jù)或來自拙劣定義模式下的損壞數(shù)據(jù);
安全性能低下:Access應(yīng)用程序沒有嵌入企業(yè)安全組件,不允許進(jìn)行類似于基于角色的訪問控制等的高級安全設(shè)置;
可管理性有限:網(wǎng)絡(luò)技術(shù)無法集中管理Access應(yīng)用程序;
沒有基于網(wǎng)絡(luò)發(fā)布機(jī)制:Access應(yīng)用程序無法通過網(wǎng)絡(luò)進(jìn)行訪問;
不符合SOX依從性:企業(yè)的審核程序往往會把Access應(yīng)用程序看作是一個(gè)重要的風(fēng)險(xiǎn)來源。
數(shù)據(jù)移植問題
MySQL本身提供了一個(gè)數(shù)據(jù)移植工具—— MySQL Migration Tool。不過這個(gè)工具實(shí)際上和待轉(zhuǎn)換的數(shù)據(jù)庫的基本模式和數(shù)據(jù)一樣并不好用。而Access的模式和數(shù)據(jù)質(zhì)量問題太過深入且普遍存在,所以MySQL用戶常常會發(fā)現(xiàn)在MySQL從頭開始重建數(shù)據(jù)模式還有來得更容易些。
Access移植過程中最兩個(gè)常見的與數(shù)據(jù)質(zhì)量相關(guān)的問題是:
1. Access數(shù)據(jù)模式不是基于SQL的模式:Access開發(fā)人員往往不熟悉SQL模式設(shè)計(jì)基礎(chǔ)。MySQL的數(shù)據(jù)庫管理員會發(fā)現(xiàn),Access模式類似于Excel的電子表格,而和典型的SQL模式相去甚遠(yuǎn)。例如,這種模式缺乏主鍵、外鍵和參照完整性約束。
2. Access數(shù)據(jù)“不干凈”:Access數(shù)據(jù)庫中往往包含很多毀壞的數(shù)據(jù),其中部分原因是由于沒有對表進(jìn)行嚴(yán)格定義。有MySQL用戶曾經(jīng)發(fā)現(xiàn)在一個(gè)Access數(shù)據(jù)庫中,在本來應(yīng)該是日期字段的區(qū)域填入的卻是文本字符串。
應(yīng)用程序移植問題
成功把數(shù)據(jù)從Access接入到MySQL僅僅解決了一部分問題,還需要處理與Access應(yīng)用程序相關(guān)的窗體和報(bào)表問題。此外,你可以把多個(gè)Access應(yīng)用整合成一個(gè)web應(yīng)用;同樣的,還可以把多個(gè)Access窗體整合成一個(gè)網(wǎng)頁。雖然可以用ODBC從Access存取MySQL數(shù)據(jù),不過大多數(shù)MySQL用戶還是選擇重新編寫應(yīng)用程序。其中的原因包括:
質(zhì)量問題:鑒于原始的Access應(yīng)用程序不是由專業(yè)的編程人員寫的,MySQL用戶對其邏輯可行性往往持有懷疑態(tài)度。
想要是應(yīng)用程序適用于網(wǎng)絡(luò):大多數(shù)MySQL用戶都想把Access應(yīng)用程序轉(zhuǎn)換成動態(tài)的網(wǎng)絡(luò)架構(gòu)。
出于安全要求:MySQL用戶往往希望為程序加入企業(yè)級的安全特性,例如Siteminder/LDAP驗(yàn)證和基于角色的訪問控制機(jī)制等。
雖然有現(xiàn)成的工具可以將Access應(yīng)用程序自動轉(zhuǎn)換成Java,不過大部分MySQL用戶發(fā)現(xiàn)自動轉(zhuǎn)換的成功率很低。一條可行的途徑是使用類似于PHP的編程語言或ActiveGrid這樣的web 2.0 visual builder來接入Access應(yīng)用程序。
- 2024年9月上海計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級考試成績查詢?nèi)肟冢ㄒ验_
- 2024年9月江蘇計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月浙江省全國計(jì)算機(jī)等級考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)等級考試成績查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級成績查詢時(shí)間及查分入口