• 沒有找到結果。

系統核心架構

本章 3.1 節介紹系統的整體架構與特色簡介。在 3.2 將針對系統 的做法做一個詳細的說明。3.3 節則是此系統的事件流程圖。

4.1 系統發展架構圖與特色簡介

4.1.1 系統架構圖

圖 4.1 系統架構 遠端資料庫

(提供資料供近端 查詢的資料庫) (使用 Access)

URL:jdbc:odbc:querydb 瀏覽器

WEB 伺服器 http

JDBC

資料庫 伺服器

近端資料庫

(提供對遠端資料庫做查詢 時的資訊(MAPTABLE)) (使用 MySQL)

SQL (Tomcat) (JSP/HTML) MAPTABLE

4.1.2 系統特色簡介

此系統的目的是為了讓資料表欄位數(註一)、欄位名稱(註二)、資 料欄位的對應位置不同(註三)與資料庫型態不同(註四)的兩個資料庫可 以讀取彼此的資料,不受上述條件的不同而無法讀取。

※ 下列有兩個資料表用來說明註解

資料表一(Access)的欄位資料如下:

編號 姓名 電話 生日

資料表二(MySQL)的欄位資料如下:

ID NAME ADDRESS TEL E-MAIL

(註一):欄位數不同是指資料表一有四個欄位,資料表二有五個欄位 (註二):欄位名稱不同是指資料表一的欄位名稱有「編號、姓名、電

話、生日」與資料表二不同,資料表二以英文名稱來表示。

(註三):資料欄位的對應位置不同是指資料表一的「電話」是在第三 欄,而資料表二的電話「TEL」是在第四欄

(註四):資料庫型態不同是指資料表一是 Access 的資料庫,資料表 二是 MySQL 的資料庫。

系統的功能及特色如下:

1.特色:

1)即使資料庫型態不同、欄位數不同、對應位置不同、欄 位名稱不同,仍可透過網路讀取對方資料庫。

資料庫型態不同:例如遠端資料庫是 Access,近端資 料庫是 MySQL。

欄位數不同(Access 有六欄、MySQL 有五欄)、對應位 置不同(ADDRESS 與位址的對應位置不同)、欄位名稱不同:

NUM 姓名 電話 住址 E-MAIL

ID NAME ADDRESS TEL BIRTHDAY SEX

Access

MySQL

圖 4.2 解釋資料庫型態不同、欄位數不同、欄位名稱不同、對應位置不同

2)透過網路,即時讀取對方資料庫的資料,且不會更改對 方資料庫裡的資料。

3)因為是線上讀取,因此不同於資料庫轉檔的優點是,資 料不怕讀取到未更新的資料。

例如說:將 Access 的資料匯至 MySQL。

2.功能:

1)在使用者端,輸入帳號、密碼,接著進入查詢畫面,輸 入關鍵資料,即可查詢與近端資料表格式不同的遠端資 料庫裡的資料。

4)在管理者端,進入設定之前,先需輸入資料庫路徑、資 料表名稱等,只要輸入過一次,系統會將紀錄存在 Session 中,以後只要輸入第一個字母變會有下拉式的 選單,可以選取,不必再次鍵入長長的路徑、資料表等 名稱。

2)在管理者端,是用來建立 MAPTABLE。MAPTABLE 可 以看成是用來當作讀取遠端資料表欄位時的指標。

3)當使用者端在讀取查詢遠端資料庫時,會自動去尋找

MAPTABLE,再去讀取遠端資料表將欲取之欄位資料傳回 近端資料表的對應欄位。

4.2 系統核心架構

本節是說明系統的製作及流程。分為管理者端與使用者端。

4.2.1 管理者端

4.2.1.1 讀取資料庫中的資料表

1.資料庫路徑:透過這個路徑,可以經由網路連到遠端資料庫。

使用 URL 連到資料庫:

jdbc:subprotocol://host:port / databasename URL 中的 subprotocol 用來辨識正在使用的特殊資料庫系 統。Java 中的 DriverManager 類別利用 URL 的這個部分,從註 冊中的驅動程式清單中,選擇適當的 JDBC 驅動程式。如果 DriverManager 無法替資料庫找到合適的 JDBC 驅動程式,就會 丟出 SQLException。

在此系統中使用了 MySQL 及 ACCESS,URL 如下:

MySQL: jdbc:mysql://localhost:8080/mydata Access: jdbc:odbc:technical_library

2.輸入資料表:使用 SQL 語法連接到資料庫中的某資料表。

相關文件