遠(yuǎn)程數(shù)據(jù)庫的訪問(VB數(shù)據(jù)庫)發(fā)布時(shí)間:2008-04-03 10:36:43 來源:編程愛好者網(wǎng)站 作者:編程愛好者網(wǎng)站 點(diǎn)擊:386楊 尚 勤
---- 遠(yuǎn) 程 數(shù) 據(jù) 對(duì) 象(RDO) 是 VB 5.0 中 基 于 ODBC API 的 對(duì) 象 模 型, 它 短 小、 快 捷、 強(qiáng) 健, 可 以 訪 問 任 何 32 位 ODBC 數(shù) 據(jù) 源, 如 SQL Server 和 Oracle 數(shù) 據(jù) 庫, 是 訪 問 遠(yuǎn) 程 數(shù) 據(jù) 庫 的 更 新 更 高 級(jí) 的 工 具。 ---- 使 用 RDO 的 一 般 方 法 如 下。 ---- 先 聲 明 變 量: Public con As rdoConnection, res As rdoResultset ---- 然 后 初 始 化 rdoEngine, 設(shè) 置 用 戶 和 口 令 等 缺 省 參 數(shù); With rdoEngine .rdoDefaultUser = "sa" ’用戶為 sa .rdoDefaultPassword = "pass" ’口令為 pass .rdoDefaultCursorDriver = rdUseServer .rdoDefaultLoginTimeout = 15 End With ---- 再 連 接 到 要 訪 問 的 遠(yuǎn) 程 數(shù) 據(jù) 庫( 可 使 用 DSN Connection 和 DSN-Less Connection)。 ---- 使 用 DSN Connection 舉 例( 連 接 服 務(wù) 器 SERVER 上 的 數(shù) 據(jù) 庫 hotel): Set con = rdoEnvironments(0).OpenConnection ("hotel", rdDriverNoPrompt, False) ---- 使 用 DSN-Less Connection 舉 例( 連 接 服 務(wù) 器 SERVER 上 的 數(shù) 據(jù) 庫 hotel): Set con = rdoEnvironments(0).OpenConnection ("", rdDriverNoPrompt, False, _ "driver={SQL Server}; server=SERVER; database=hotel") ---- 建 立 連 接 后, 既 可 使 用 OpenResultset 方 法 執(zhí) 行 查 詢 并 處 理 結(jié) 果 集, 又 可 使 用 Execute 方 法 執(zhí) 行 包 括 數(shù) 據(jù) 定 義 和 數(shù) 據(jù) 操 作 在 內(nèi) 的 動(dòng) 作 查 詢。 例 如: Set res = con.OpenResultset ("SELECT * FROM menu", rdOpenStatic) con.Execute "CREATE VIEW menu_view AS SELECT 代碼, 菜名FROM menu", rdExecDirect ---- RDO 最 強(qiáng) 大 和 最 重 要 的 特 性 之 一 是: 它 可 以 查 詢 和 處 理 由 存 儲(chǔ) 過 程 返 回 的 結(jié) 果, 無 論 它 有 多 么 復(fù) 雜。 ---- 除 RDO 外, 還 可 使 用 RDC 訪 問 遠(yuǎn) 程 數(shù) 據(jù) 庫。 ---- 遠(yuǎn) 程 數(shù) 據(jù) 控 件(RDC) 與 數(shù) 據(jù) 控 件(DC) 類 似, 不 同 之 處 是 RDC 使 用 RDO 連 接 到 ODBC 驅(qū) 動(dòng) 程 序 管 理 器, 而 DC 則 使 用 DAO 連 接 到 Jet 數(shù) 據(jù) 庫 引 擎。 利 用 RDO 和 RDC, 無 需 使 用 Jet 引 擎 就 可 以 訪 問 ODBC 數(shù) 據(jù) 源。 這 樣, 在 訪 問 遠(yuǎn) 程 數(shù) 據(jù) 庫 時(shí), 可 以 獲 得 更 好 的 性 能 和 更 大 的 靈 活 性。 ---- 遠(yuǎn) 程 數(shù) 據(jù) 控 件 MSRDC 使 用 舉 例 如 下。 Connect: driver={SQL Server}; server=SERVER; database=hotel DataSourceName: SQL: SELECT * FROM menu UserName: sa Password: pass CursorDriver: 3-rdUseClient ---- 可 以 使 用 RDC 執(zhí) 行 許 多 簡(jiǎn) 單 的 遠(yuǎn) 程 數(shù) 據(jù) 訪 問 操 作, 不 需 編 寫 任 何 代 碼, 只 要 填 寫 有 關(guān) 項(xiàng) 就 可 以 了, 使 用 起 來 很 方 便。 但 應(yīng) 注 意, 除 非 在 設(shè) 計(jì) 時(shí) 禁 止 并 只 在 需 要 時(shí) 啟 動(dòng) RDC , 否 則 它 至 少 將 消 耗 一 個(gè) 遠(yuǎn) 程 數(shù) 據(jù) 庫 連 接。 在 遠(yuǎn) 程 數(shù) 據(jù) 庫 連 接 資 源 有 限 或 要 求 很 高 效 的 情 況 下, 宜 慎 用、 少 用 RDC 。 這 種 情 況 下, 應(yīng) 盡 可 能 考 慮 使 用 RDO , 并 使 用 存 儲(chǔ) 過 程( 預(yù) 編 譯 好 的 SQL 語 句)。 ---- 最 后 還 應(yīng) 注 意, 只 有 32 位 操 作 系 統(tǒng)( 如 Windows NT 或 Windows Array5), 才 能 支 持 RDO 和RDC 。RDO 和 RDC 也 只 能 用 于 訪 問 32 位 ODBC 數(shù) 據(jù) 源。 |
|