《項(xiàng)目10 在ASP中建立數(shù)據(jù)庫連接》由會(huì)員分享,可在線閱讀,更多相關(guān)《項(xiàng)目10 在ASP中建立數(shù)據(jù)庫連接(25頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、任 務(wù) 11: 在 ASP中 建 立 數(shù) 據(jù) 庫 連 接 任務(wù)目標(biāo)知 識(shí) 目 標(biāo)n 了 解 ASP連 接 數(shù) 據(jù) 庫 的 兩 種 方 法能 力 目 標(biāo)n 能 熟 練 編 寫 ASP代 碼 連 接 數(shù) 據(jù) 庫 引言ASP使 用 ADO對(duì) 象 對(duì) 數(shù) 據(jù) 庫 進(jìn) 行 讀 寫 操 作ASP頁 面 ADO對(duì) 象 數(shù) 據(jù) 庫讀 寫 命 令 讀 寫 命 令反 饋 數(shù) 據(jù) 反 饋 數(shù) 據(jù) 引言在 ADO對(duì) 象 中 , 主 要 對(duì) 象 是 Connection對(duì) 象 , Command對(duì) 象 ,Recordset對(duì) 象n Connection對(duì) 象 稱 連 接 對(duì) 象 , 用 于 和 數(shù) 據(jù) 庫 建 立 連
2、接n Command對(duì) 象 稱 命 令 對(duì) 象 , 對(duì) 數(shù) 據(jù) 庫 執(zhí) 行 增 刪 改 查 等 命 令n Recordset對(duì) 象 稱 為 記 錄 集 對(duì) 象 , 返 回 滿 足 條 件 的 查 詢 記 錄 集 引言常 用 ADO對(duì) 象 Process.aspif 輸 入 正 確 then 將 注 冊(cè) 信 息 寫 入 數(shù) 據(jù) 庫 保 存 跳 轉(zhuǎn) 到 success.aspelse 跳 轉(zhuǎn) 到 fail.asp fail.asp出 錯(cuò) 啦 ! 出 錯(cuò) 原 因success.asp*, 注 冊(cè) 成 功 !目標(biāo)描述 6.1 在ASP中建立數(shù)據(jù)庫連接ODBC 介 紹Microsoft推 出 的 ODB
3、C(Open Database Connectivity)技 術(shù) 為 異 質(zhì) 數(shù) 據(jù) 庫 的 訪 問 提 供 了 統(tǒng) 一 的 接 口 。ODBC基 于 SQL(Structured Query Language), 并 把 它作 為 訪 問 數(shù) 據(jù) 庫 的 標(biāo) 準(zhǔn) 。 這 個(gè) 接 口 提 供 了 最 大 限 度 的相 互 可 操 作 性 : 一 個(gè) 應(yīng) 用 程 序 可 以 通 過 一 組 通 用 的 代碼 訪 問 不 同 的 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 。 ODBC 可 以 為 不 同 的 數(shù)據(jù) 庫 提 供 相 應(yīng) 的 驅(qū) 動(dòng) 程 序 , 因 此 , 在 Web 數(shù) 據(jù) 庫 系 統(tǒng)中 使 用
4、ODBC 接 口 具 有 這 樣 的 優(yōu) 勢(shì) : 前 臺(tái) 動(dòng) 態(tài) 網(wǎng) 頁 程 序有 很 好 的 數(shù) 據(jù) 庫 兼 容 性 , 即 使 升 級(jí) 和 更 換 數(shù) 據(jù) 庫 系 統(tǒng)也 不 需 要 修 改 程 序 。 6.1 在ASP中建立數(shù)據(jù)庫連接 6.1 在ASP中建立數(shù)據(jù)庫連接創(chuàng) 建 DSN數(shù) 據(jù) 庫 連 接(1)用 戶 DSN。 只 有 創(chuàng) 建 數(shù) 據(jù) 源 的 用 戶 才 可 以 使 用 他 們 自 己 創(chuàng) 建 的 數(shù)據(jù) 源 , 其 他 用 戶 不 能 使 用 不 是 自 己 的 數(shù) 據(jù) 源 。 在 Windows NT 下 以 服務(wù) 方 式 運(yùn) 行 的 應(yīng) 用 程 序 也 不 能 使 用 用 戶
5、 數(shù) 據(jù) 源 。(2)系 統(tǒng) DSN。 所 有 用 戶 和 Windows NT 下 以 服 務(wù) 方 式 運(yùn) 行 的 應(yīng) 用 程 序均 可 使 用 系 統(tǒng) 數(shù) 據(jù) 源 。(3)文 件 DSN。 文 件 數(shù) 據(jù) 源 是 ODBC 3.0 以 后 版 本 添 加 的 一 種 數(shù) 據(jù) 源 ,所 有 安 裝 了 相 同 數(shù) 據(jù) 庫 驅(qū) 動(dòng) 程 序 的 用 戶 均 可 以 共 享 文 件 數(shù) 據(jù) 源 。 文件 數(shù) 據(jù) 源 沒 有 存 儲(chǔ) 在 操 作 系 統(tǒng) 的 登 入 表 數(shù) 據(jù) 庫 中 , 它 們 被 存 儲(chǔ) 在 客戶 端 的 一 個(gè) 文 件 中 。 所 以 , 使 用 文 件 數(shù) 據(jù) 源 有 利 于
6、 ODBC 數(shù) 據(jù) 庫 應(yīng) 用程 序 的 分 發(fā) 。 6.1 在ASP中建立數(shù)據(jù)庫連接 6.1 在ASP中建立數(shù)據(jù)庫連接創(chuàng) 建 DSN-less數(shù) 據(jù) 庫 連 接n 通 過 OLE DB進(jìn) 行 連 接n 通 過 ODBC進(jìn) 行知 識(shí) 補(bǔ) 充n OLE DB( Object Linking and Embedding, Database) 一 個(gè)基 于 COM的 數(shù) 據(jù) 存 儲(chǔ) 對(duì) 象 ,能 提 供 對(duì) 所 有 類 型 的 數(shù) 據(jù) 的 操 作 n ODBC( Open Database Connectivity) 通 過 ODBC方 式 建 立 的應(yīng) 用 程 序 , 直 接 和 ODBC打 交
7、道 , 對(duì) 數(shù) 據(jù) 庫 的 操 作 不 依 賴 于 任何 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 6.1 在ASP中建立數(shù)據(jù)庫連接在 ASP中 建 立 數(shù) 據(jù) 庫 連 接 的 4個(gè) 步 驟( 1) 在 連 接 數(shù) 據(jù) 庫 前 , 生 成 Connection對(duì) 象 Set conn=Server.CreateObject(ADODB.Connection) 6.1 在ASP中建立數(shù)據(jù)庫連接( 2) 有 了 對(duì) 象 后 , 設(shè) 置 該 對(duì) 象 要 連 接 到 哪 個(gè) 數(shù) 據(jù) 庫 連 接 字 符 串 用 于 指 明 使 用 的 數(shù) 據(jù) 庫 驅(qū) 動(dòng) 、 訪 問 的 數(shù) 據(jù) 庫 名 稱 等用 OLEDB進(jìn) 行 連
8、 接 需 要 用 到 Provider和 DataSource兩 個(gè) 參 數(shù)n Provider 指 明 數(shù) 據(jù) 庫 類 型 ( OLEDB驅(qū) 動(dòng) ) , 訪 問 數(shù) 據(jù) 庫 類 型 不 同 , 使 用 的 驅(qū)動(dòng) 也 不 同 。 如 Access: Provider=Microsoft.Jet.OLEDB.4.0 n DataSource 指 明 要 訪 問 的 數(shù) 據(jù) 庫 的 物 理 路 徑Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbq=Data Source = Data Source = 參 數(shù)
9、 2=值 ;參 數(shù) 3=值 ” DSN: ODBC數(shù) 據(jù) 源 的 名 稱 , 若 采 用 文 件 數(shù) 據(jù) 源 , 則 應(yīng) 該 使 用 FILEDSN參 數(shù) UID: 用 戶 名 PWD: 用 戶 密 碼 Driver: 數(shù) 據(jù) 庫 的 驅(qū) 動(dòng) 程 序 Dbq: 指 定 文 件 數(shù) 據(jù) 庫 的 物 理 路 徑 Server: 指 定 數(shù) 據(jù) 庫 服 務(wù) 器 的 地 址 Provider: 數(shù) 據(jù) 提 供 者 Data Source: 數(shù) 據(jù) 來 源 Connection理論知識(shí)補(bǔ)充連 接 的 關(guān) 閉 Connection理論知識(shí)補(bǔ)充Connection 對(duì) 象 的 常 用 屬 性屬 性 名 說
10、明CommandTimeout 這 定 義 了 使 用 Execute 方 法 運(yùn) 行 一 條 SQL 命 令 的 最 長 時(shí) 限 , 能 夠 中斷 并 產(chǎn) 生 錯(cuò) 誤 。 默 認(rèn) 值 為 30秒 , 設(shè) 定 為 0表 示 沒 有 限 制ConnectionString 設(shè) 定 連 接 數(shù) 據(jù) 源 的 信 息 , 包 括 FlieName、 Password、 Userld、DataSource、 Provider 等 參 數(shù)ConnectionTimeout 設(shè) 置 在 終 止 嘗 試 和 產(chǎn) 生 錯(cuò) 誤 前 建 立 數(shù) 據(jù) 庫 連 接 期 間 所 等 待 的 時(shí) 間 , 該屬 性 設(shè) 置
11、或 返 回 指 示 等 待 連 接 打 開 的 時(shí) 間 的 長 整 型 值 ( 單 位 為 秒 ) ,默 認(rèn) 值 為 15。 如 果 將 該 屬 性 設(shè) 置 為 0, ADO 將 無 限 等 待 直 到 連 接 打 開 DefaultDatabase 定 義 連 接 默 認(rèn) 數(shù) 據(jù) 庫 。Mode 建 立 連 接 之 前 , 設(shè) 定 連 接 的 讀 寫 方 式 , 決 定 是 否 可 更 改 目 前 數(shù) 據(jù) 。 0:不 設(shè) 定 ( 默 認(rèn) ) 、 1: 只 讀 、 2: 只 寫 、 3: 讀 寫Provider 設(shè) 置 連 接 的 數(shù) 據(jù) 提 供 者 ( 數(shù) 據(jù) 庫 管 理 程 序 ) , 默
12、 認(rèn) 值 是 MSDASQL ( Microsot-ODBC For OLEDB)State 讀 取 當(dāng) 前 鏈 接 對(duì) 象 的 狀 態(tài) , 取 0表 示 關(guān) 閉 , 1表 示 打 開 Connection理論知識(shí)補(bǔ)充Connection 對(duì) 象 的 方 法方 法 名 說 明Open 建 立 一 個(gè) 與 數(shù) 據(jù) 源 的 連 接 對(duì) 象Close 關(guān) 閉 與 數(shù) 據(jù) 源 的 連 接 , 并 且 釋 放 與 連 接 有 關(guān) 的 系 統(tǒng) 資 源Execute 執(zhí) 行 SQL命 令 或 存 儲(chǔ) 過 程 , 以 實(shí) 現(xiàn) 數(shù) 據(jù) 庫 操 作BeginTrans 開 始 一 個(gè) 事 務(wù) 處 理 , 即 在 內(nèi) 存 中 為 事 務(wù) 開 辟 一 片 內(nèi) 存 緩 沖 區(qū) CommitTrans 提 交 事 務(wù) 處 理 結(jié) 果 , 即 把 一 次 事 務(wù) 中 所 有 變 動(dòng) 的 數(shù) 據(jù) 從 內(nèi) 存 緩 沖 區(qū) 一 次性 地 寫 入 硬 盤 , 結(jié) 束 當(dāng) 前 事 務(wù) 并 可 能 開 始 一 個(gè) 新 的 事 務(wù)RollbackTrans 取 消 事 務(wù) 處 理 結(jié) 果 , 即 取 消 開 始 此 次 事 務(wù) 以 來 對(duì) 數(shù) 據(jù) 源 的 所 有 操 作 , 并結(jié) 束 本 次 事 務(wù) 操 作