主從式資料庫系統 - ch6 1 第 6 章 主控端與伺服端連線設定....
Post on 20-Dec-2015
250 views
TRANSCRIPT
主從式資料庫系統 - CH6 1
第 6 章 主控端與伺服端連線設定
主從式資料庫系統 - CH6 2
本章宗旨 簡介 MyODBC 工作原理 簡介 ODBC 資料管理員使用方法 簡介主從端各種連線方法與安全比較
主從式資料庫系統 - CH6 3
大 綱6-1 MyODBC 工作原理 6-2 ODBC 資料管理員連線 6-3 應用程式連線 6-4 選項參數說明 6-5 連線方法比較
主從式資料庫系統 - CH6 4
6-1 MyODBC 工作原理6-1-1 工作原理6-1-2 應用程式6-1-3 驅動程式管理員6-1-4 驅動程式( MyODBC )6-1-5 MySQL Server
主從式資料庫系統 - CH6 5
6-1-1 工作原理 開放式資料庫處理架構
應 用 程 式
驅動程式管理員
ODBC.INI
MyODBC
MySQL Server
主從式資料庫系統 - CH6 6
6-1-2 應用程式 應用程式( AP, Application Program )負責叫
用 ODBC API ,同時命令 ODBC 去存取資料庫伺服器內的資料
一般說來,資料存取工作是由 ODBC 負責的, 因此 AP 不用理會資料存放在何處、如何存放,以及如何存取資料,它唯一需要知道的就是資料來源名稱( DSN, Data Source Name )
主從式資料庫系統 - CH6 7
6-1-2 應用程式 ( 續 )
AP 需要負責之任務 : 選擇 MySQL 伺服器並與它連結 發出 SQL 指令 收回 SQL 處理結果 處理錯誤 確認 SQL 處理結果或是捲回原狀 離線
主從式資料庫系統 - CH6 8
6-1-3 驅動程式管理員 驅動程式管理員是一個程式館,負責管理 AP
和驅動程式之溝通工作 它的主要職責有下列三項:
剖析 DSN 載入和結束驅動程式 處理 ODBC 函數或叫用驅動程式
主從式資料庫系統 - CH6 9
6-1-4 驅動程式( MyODBC ) 驅動程式也是一個程式館,負責執行 ODBC A
PI 內部之函數 執行過程:
處理 ODBC 函數呼叫 送出 SQL 指令至伺服器 將結果送回給 AP 必要的話,它會自動修正 AP 之指令格式
主從式資料庫系統 - CH6 10
6-1-4 資料來源參數檔 -ODBC.INI
資料來源參數檔,用來儲存與伺服器連線所需之參數,檔案內容是以資料名稱來識別各個驅動程式與伺服器之連線設定
主從式資料庫系統 - CH6 11
6-1-5 MySQL Server
提供原始資料的地方
主從式資料庫系統 - CH6 12
6-2 ODBC 連線 連線設定步驟 :
1. 在桌面點取【設定】2. 點取【控制台】3. 點取【系統管理工具】4. 雙點【資料來源 ODBC 】
主從式資料庫系統 - CH6 13
6-2-1 開啟 ODBC 設定畫面
主從式資料庫系統 - CH6 14
6-2-2 設定系統資料來源
主從式資料庫系統 - CH6 15
6-2-3 選擇驅動程式
主從式資料庫系統 - CH6 16
6-2-3 選擇驅動程式 ( 續 )
主從式資料庫系統 - CH6 17
6-2-4 連線參數設定
主從式資料庫系統 - CH6 18
6-2-4 連線參數設定 ( 續 )
Data Source Name :用來識別資料來源之名稱,不得與舊資料名稱重複
Description :註解用途 Host/Server Name(or IP) :指定連線伺服器之名稱,
若伺服器與主控端位於同一台電腦上,可設定為【 localhost 】 ( 預設值 ) 。此外,也可以輸入 URL 型式之名稱,例如 www. nuu.edu. tw 或” 203.64.185.201”
Database Name :輸入要連線之資料庫名稱
主從式資料庫系統 - CH6 19
6-2-4 連線參數設定 ( 續 )
User :輸入帳號(必須是伺服端有授權之帳號),假如伺服器是安裝在連線電腦上,則預設帳號為” root”
Password :輸入你的密碼 Port :與伺服端對話之連接埠,預設值為 3306 SQL command on connect :設定啟動連線時立即執
行之 SQL 指令,可保留不設定
主從式資料庫系統 - CH6 20
6-2-4 連線參數設定 ( 續 )
連線設定測試 按視窗之【 Test Data Source 】按鈕進行連線測
試 連線成功畫面
主從式資料庫系統 - CH6 21
6-3 應用程式連線 基本上,可使用下列三種方式連線
使用資料名稱連線 直接以應用程式連線 將 MySQL 資料表連入 Access
主從式資料庫系統 - CH6 22
6-3-1 使用資料名稱連線應用程式範例
1. 宣告變數 Dim con As New ADODB.Connection
說明 : ‘ 宣告 ADO 連線物件 Dim cn_str AS String
說明 : 宣告字串變數
主從式資料庫系統 - CH6 23
6-3-1 使用資料名稱連線 ( 續 )
2. 設定連線屬性 con.CursorLocation = adUseClient
說明 : ‘ 將游標控制權指定在主控端 cn_str = "DSN=Mysal;"
說明 : ‘ 指定連線資料名稱 con.ConnectionString = cn_str
說明 : ‘ 將連線資料加入連線物件
主從式資料庫系統 - CH6 24
6-3-1 使用資料名稱連線 ( 續 )
3. 開啟連線 If Not con.state = adStateOpen Then con.Open
說明 : ‘ 若連線物件尚未啟動,則以 Open 方法開啟連線
主從式資料庫系統 - CH6 25
6-3-2 以應用程式連線1. 宣告變數
Dim con As New ADODB.Connection
說明 : ‘ 宣告 ADO 連線物件 Dim cn_str AS String
說明 : ‘ 宣告字串變數
主從式資料庫系統 - CH6 26
6-3-2 以應用程式連線 ( 續 )
2. 設定連線屬性 cn_str = "Driver={MySQL ODBC 3.51 }; “ & _ “Server= localhost; " & _ "Database= 資料庫名稱 ;” & _ "User= 使用者帳號 ; “ & _ “Password= 使用者密碼 ;” & _ “Option=3 " ‘ 最後一項不要加上 ; con.CursorLocation = adUseClient ‘ 游標控制權指定在主控端 con.ConnectionString = cn_str ‘ 連線參數加入連線物件
主從式資料庫系統 - CH6 27
6-3-2 以應用程式連線 ( 續 )
3. 開啟連線 If Not con.state = adStateOpen Then con.Open
說明 :‘ 若連線物件尚未啟動,則以 Open 方法開啟連線
啟動連線之後,我門就可以使用連線物件 con 開啟相關的資料表,或是使用連線物件來執行 SQL 指令和專案
主從式資料庫系統 - CH6 28
連線參數使用說明 參數 預設值 註解
user Windows 連線至MySQL.之帳號server localhost MySQL伺服器主機位址
database The default database.
option 0 詳見表 6-2
port 3306 主機非 localhost 時 TCP/IP 協定使用之通訊埠 .
stmt A statement to execute when connecting to MySQL.
password 連線至MySQL.之密碼
socket 主機為 localhost時以 Unix socket file或 Windows named
pipe連線
主從式資料庫系統 - CH6 29
6-3-3 MySQL 資料表連入 Access
此種連線方式,乃直接將 MySQL 資料表加入Access 資料庫內,加入前,需要指定資料來源,來源名稱就是本章第一節設定之名稱
加入資料表之程序,請參看 Access 之操作章節說明
主從式資料庫系統 - CH6 30
6-4 選項參數說明 數值 說明
1 欄寬不做最佳化處理
2 傳回匹配紀錄值
4 紀錄驅動程式動作在 c:\myodbc.log 檔
8 允許大型資料表
16 連線時不提示
32 允許動態游標
64 忽略 db_name.tbl_name.col_name格式
主從式資料庫系統 - CH6 31
6-4 選項參數說明 ( 續 )
128 使用驅動程式管理員游標
256 不允許結果存在近端
512 字元欄位完整呈現
1024 以 SQLDescribeCol() 型式傳回資料表名
2048 使用壓縮協定
4096 忽略函數括弧前後之空白字元
8192 NT 系統以 named pipes 連線
16384 長整數型轉型為整數型
主從式資料庫系統 - CH6 32
6-4 選項參數說明 ( 續 )
32768 以帳號取代 Table_qualifier 和 Table_owner
65536 從 my.cnf 讀取 [client] 和 [odbc] 群組設定值
131072 安全檢查 (最好不設定,除非發生問題 )
262144 不允許交易機制
524288 允許查詢記錄在 c:\myodbc.sql (只允許在 debug 模式 )
1048576 查詢結果不做快取 ( 只允許 Forward-only游標 )
2097152 強制使用 Forward-only游標
主從式資料庫系統 - CH6 33
MySQL推薦參數 系統規劃 Option
Access 3
Visual Basic 3
大型資料表包含大量紀錄 2049
追蹤紀錄 (除錯模式 ) 4
記錄查詢結果 (除錯模式 ) 524288
追蹤紀錄及查詢結果 (除錯模式 ) 524292
大型資料表無快取 3145731
主從式資料庫系統 - CH6 34
6-5 連線方法比較 從安全性考量來說,第一種連線方式是非常不安全的,只要有人能開啟你的電腦,他就可以輕而易舉的使用你設定的資料來連上伺服器
相對而言,第二種方式較為安全。但是,只要他能開啟你的 Access 檔案,他還是可以查看你的資料,或是竊取你的帳號密碼。所幸, Access 可以設定密碼,也可以將原始程式編譯,對於非駭客籍人士,可以杜絕他們侵入你的系統
主從式資料庫系統 - CH6 35
6-5 連線方法比較 ( 續 )
第三種方式之安全性和第一種類似,也是非常不安全的,通常此種方式適用於非多人使用之資料庫系統。使用第三種方式並非一無是處,直接匯入 Access 之後, Access許多介面即可直接套用,發展應用介面時將非常方便