2020年8月1日 星期六

ACCESS資料成功轉換SQlite方法


最近忙於系統開發研究,今日來談一下有朋友很有才華自行利用ACCESS開發了CRM(客戶關係管理)系統,但僅限於個人使用考量目前大量使用者成長與需求,洽詢我是否能技術支援同時給了我ACCESS檔案參考,但因電腦OFFICE沒有ACCESS可開啟.accdb檔案,相信有許多微軟OFFICE使用者也面臨相同問題,甚至於必須買OFFICE彩盒或OFFICE365才能開啟使用吧!!...但對於開發者而言是不可能利用ACCESS資料庫來開發WEB或手機APP。因此,如何能將客戶給予的ACCESS資料庫檔案轉檔出你想要的格式,再匯入到MS SQL或SQlite等資料庫運用,這篇文章就以如何轉換成SQlite來詳細說明。

首先可參考一個有用的mdbtools工具https://clay-atlas.com/blog/2020/01/12/microsoft-chinese-tutorial-mdb-export-all-csv-access/,透過這工具我們可以將需要的mdb資料庫內的Table表,轉換成CSV檔案,以逗號來區隔欄位和表列資料內容。

  • 電腦中安裝 mdbtools 這個工具,要使用以下各指令安裝:
Windows系統指令
sudo apt-get install mdbtools
Linux系統指令
apt-get install mdbtools
MAC系統指令

brew install mdbtools

以下我使用Ubuntu18.0來演示如何將.accdb檔案轉換成CSV檔案。
步驟一:
依照上述指令完成Tools的安裝,此時會出現在你的Download資料夾底下會出現mdb-export-all-master資料夾,記得要轉檔的.accdb檔案要和mdb-export-all.sh執行檔放在同一資料夾內
 
     
         步驟二: 

         執行mdb-export-all.sh 的 shell 檔執行它,加要轉換的 .mdb 檔名稱,就可以得到CSV轉 換檔案。這邊有一個要特別注意的地方,就是要輸入完整路徑full-path-to-ms-access說明要求完整路徑
       
  • 指令為 bash mdb-export-all.sh full-path-to-ms-access-db.accdb
  • 例如我路徑是/home/ubuntu/Downloads/mdb-export-master/(檔名).access
                
                

        步驟三: 
        
        一旦成功會依據當時ACCESS內設計得Table給予各Table轉換出的CSV檔案。

                


SQLITE資料庫安裝與下載

SQLite是世界上部署最廣泛的數據庫,是嵌入式SQL數據庫引擎。與大多數其他SQL數據庫不同,SQLite沒有單獨的服務器進程。SQLite直接讀取和寫入普通磁盤文件。具有多個表索引,觸發器和視圖的完整SQL數據庫包含在單個磁盤文件中。數據庫文件格式是跨平台的-您可以在32位和64位系統之間或在big-endian和 little-endian 體系結構之間自由複制數據庫 。SQLite數據庫文件是美國國會圖書館推薦的存儲格式認為SQLite不能替代 OracleSQLite是一個緊湊的庫。啟用所有功能後,庫大小可以小於600KiB,具體取決於目標平台和編譯器優化設置。SQLite通常為您提供的內存越多,運行速度就越快。但是,即使在低內存環境下,性能通常也相當不錯。基於以上官網介紹,再補充一下想要IOS環境下使用Swift開發APPLE手機使用的APP,其利用與儲存在手機內的資料庫即為Sqlite,這樣聽起來是否能學會如何使用Sqlite相當重要呢。

想要在Windows環境內能開發與編輯Sqlite資料庫DB-Browser相對重要,介紹一個免費且通用軟體工具ScreenShot官方下載網站如后:https://sqlitebrowser.org/。安裝步驟就不再說明其實很簡單,參考官網持續按下一步驟即可完成安裝。安裝完成後我們啟動ScreenShot這個Browser,選擇[檔案]---[匯入]---[Table from CSV],這時應該大家注意它不應該顯示成灰階無法選取,如有無法選取請先自行新增一個.db資料庫,再回頭執行匯入功能。提供圖示我把資料都先灰階,畢竟別人資料內容要保密安全,將每一個Table檔重複執行匯入點選確認後,就完成我們轉檔作業了。











ACCESS資料成功轉換SQlite方法

最近忙於系統開發研究,今日來談一下有朋友很有才華自行利用ACCESS開發了CRM(客戶關係管理)系統,但僅限於個人使用考量目前大量使用者成長與需求,洽詢我是否能技術支援同時給了我ACCESS檔案參考,但因電腦OFFICE沒有ACCESS可開啟.accdb檔案,相信有許多微軟OFF...