遠(yuǎn)程數(shù)據(jù)庫的訪問(VB數(shù)據(jù)庫)
發(fā)表時(shí)間:2024-02-19 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]楊 尚 勤 ---- 遠(yuǎn) 程 數(shù) 據(jù) 對 象(RDO) 是 VB 5.0 中 基 于 ODBC API 的 對 象 模 型, 它 短 小、 快 捷、 強(qiáng) 健, 可 以 訪 問 任 何 32 位 ODBC 數(shù) 據(jù) 源, 如 SQL Server 和 Oracle 數(shù) 據(jù) 庫, 是 訪 問 遠(yuǎn) 程 數(shù)...
楊 尚 勤
---- 遠(yuǎn) 程 數(shù) 據(jù) 對 象(RDO) 是 VB 5.0 中 基 于 ODBC API 的 對 象 模 型, 它 短 小、 快 捷、 強(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í) 行 許 多 簡 單 的 遠(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 95), 才 能 支 持 RDO 和RDC 。RDO 和 RDC 也 只 能 用 于 訪 問 32 位 ODBC 數(shù) 據(jù) 源。