Delphi 5 數據庫應用中ODBC數據源的自動管理

學識都 人氣:1.7W

蔣冠雄 徐騁飛

Delphi 5 數據庫應用中ODBC數據源的自動管理

(紹興文理學院實驗中心)

摘要:本文分析了ODBC數據源設置的原理以及ODBC數據源和Delphi數據庫別名的關係。並在此基礎上,介紹了在Delphi5數據庫應用程序安裝、運行中,如何編程實現ODBC數據源和Delphi數據庫別名的設置。

關鍵字:Delphi、數據庫、ODBC

一、前言

Delphi的特色之一就是方便而強大的開發數據庫的能力,只要輕擊幾下鼠標,填寫極少的幾行代碼,就能快速地開發出很有風格的數據庫應用程序。編寫一個數據應用可以很簡單,但要在別人的計算機上運行自己的應用卻要費一些周折。

首先,如果對方的計算機上還沒有安裝過Inprise公司的BDE數據庫引擎的話,那麼就必須把BDE和應用程序一起安裝到對方的計算機中。其次,應用程序中用到的數據庫別名(Alias),特別是使用了ODBC數據源連接的數據庫別名必須和BDE一起設置。最後,如果應用程序使用的數據庫,其存放路徑並不是固定的,那麼必須根據實際情況進行ODBC和Alias的調整。這些,當然可以在應用程序安裝後,利用控制面板中ODBC數據源管理和BDE隨帶的 Administrator通過手工設置。但如此一來,一方面會使應用程序大打折扣,另一方面不便於普通用戶自己的安裝和今後工作路徑的改動。

和Delphi一起發佈的Install Shield Express可以大大簡化安裝程序的製作,幫助我們完成許多工作。本文將要介紹的,便是如何通過Install Shield和應用程序配合,完成安裝和運行時的ODBC數據源的自動設置。

二、原理

1、ODBC數據源

ODBC(Open DataBase Conectivity)是微軟公司制定的標準編程接口,只要有相應的ODBC驅動程序,就可以通過ODBC連結操作各種不同的數據庫。通常通過控制面板中的ODBC Data Source來配置ODBC的數據源。所謂ODBC數據源就是命名的一組信息,包括需要連結的數據庫所在位置(可以是磁盤目錄/文件,也可以是網絡服務器)、對應的ODBC驅動程序以及訪問數據庫所需的其他相關信息,用戶可以通過數據源的名稱(DSNs,Data Source Names)來指定所需的ODBC連接。

DSNs按照其保存方式和作用範圍分爲三種:用戶DSN、系統DSN和文件DSN。每個文件DSN保存在單獨的一個文件中,文件可以在網絡範圍內共享;用戶DSN保存在註冊表中,只對當前用戶可見;系統DSN頁保存在註冊表中,但對系統中的所有用戶可見。用戶DSN和系統DSN的區別在於,用戶DSN保存在註冊表的HKEY_CURRENT_USER下,而系統DSN保存在HKEY_LOCAL_MACHINE下。

下面,以系統DSN爲例說明如何通過修改註冊表直接設置ODBC數據源。假定我們要連接的數據庫是Access97的c:test(注意:用較新的ADO連接Access數據庫效率更高,這裏只是作爲一個例子),數據源的名稱爲CenterAuto,那麼可以分爲兩個步驟:

(1)註冊DSN本身的信息:

  • 在HKEY_LOCAL_MACHINESoftwareODBC下添加主鍵CenterAuto。主鍵的名稱CenterAuto就是數據源的名稱。
  • 向CenterAuto添加鍵值,關鍵的幾項是
  • 鍵值名

    鍵值類型

    鍵值

    含義

    Driver

    字符串(String)

    C:WINDOWSSYSTEM

    ODBC驅動程序DLL