- 相關(guān)推薦
Delphi 5 數據庫應用中ODBC數據源的自動(dòng)管理
蔣冠雄 徐騁飛
(紹興文理學(xué)院實(shí)驗中心)
摘要:本文分析了ODBC數據源設置的原理以及ODBC數據源和Delphi數據庫別名的關(guān)系。并在此基礎上,介紹了在Delphi5數據庫應用程序安裝、運行中,如何編程實(shí)現ODBC數據源和Delphi數據庫別名的設置。
關(guān)鍵字:Delphi、數據庫、ODBC
一、前言
Delphi的特色之一就是方便而強大的開(kāi)發(fā)數據庫的能力,只要輕擊幾下鼠標,填寫(xiě)極少的幾行代碼,就能快速地開(kāi)發(fā)出很有風(fēng)格的數據庫應用程序。編寫(xiě)一個(gè)數據應用可以很簡(jiǎn)單,但要在別人的計算機上運行自己的應用卻要費一些周折。
首先,如果對方的計算機上還沒(méi)有安裝過(guò)Inprise公司的BDE數據庫引擎的話(huà),那么就必須把BDE和應用程序一起安裝到對方的計算機中。其次,應用程序中用到的數據庫別名(Alias),特別是使用了ODBC數據源連接的數據庫別名必須和BDE一起設置。最后,如果應用程序使用的數據庫,其存放路徑并不是固定的,那么必須根據實(shí)際情況進(jìn)行ODBC和Alias的調整。這些,當然可以在應用程序安裝后,利用控制面板中ODBC數據源管理和BDE隨帶的BDE Administrator通過(guò)手工設置。但如此一來(lái),一方面會(huì )使應用程序大打折扣,另一方面不便于普通用戶(hù)自己的安裝和今后工作路徑的改動(dòng)。
和Delphi一起發(fā)布的Install Shield Express可以大大簡(jiǎn)化安裝程序的制作,幫助我們完成許多工作。本文將要介紹的,便是如何通過(guò)Install Shield和應用程序配合,完成安裝和運行時(shí)的ODBC數據源的自動(dòng)設置。
二、原理
1、ODBC數據源
ODBC(Open DataBase Conectivity)是微軟公司制定的標準編程接口,只要有相應的ODBC驅動(dòng)程序,就可以通過(guò)ODBC連結操作各種不同的數據庫。通常通過(guò)控制面板中的ODBC Data Source來(lái)配置ODBC的數據源。所謂ODBC數據源就是命名的一組信息,包括需要連結的數據庫所在位置(可以是磁盤(pán)目錄/文件,也可以是網(wǎng)絡(luò )服務(wù)器)、對應的ODBC驅動(dòng)程序以及訪(fǎng)問(wèn)數據庫所需的其他相關(guān)信息,用戶(hù)可以通過(guò)數據源的名稱(chēng)(DSNs,Data Source Names)來(lái)指定所需的ODBC連接。
DSNs按照其保存方式和作用范圍分為三種:用戶(hù)DSN、系統DSN和文件DSN。每個(gè)文件DSN保存在單獨的一個(gè)文件中,文件可以在網(wǎng)絡(luò )范圍內共享;用戶(hù)DSN保存在注冊表中,只對當前用戶(hù)可見(jiàn);系統DSN頁(yè)保存在注冊表中,但對系統中的所有用戶(hù)可見(jiàn)。用戶(hù)DSN和系統DSN的區別在于,用戶(hù)DSN保存在注冊表的HKEY_CURRENT_USER下,而系統DSN保存在HKEY_LOCAL_MACHINE下。
下面,以系統DSN為例說(shuō)明如何通過(guò)修改注冊表直接設置ODBC數據源。假定我們要連接的數據庫是Access97的c:\test\auto.mdb(注意:用較新的ADO連接Access數據庫效率更高,這里只是作為一個(gè)例子),數據源的名稱(chēng)為CenterAuto,那么可以分為兩個(gè)步驟:
(1)注冊DSN本身的信息:
- 在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI下添加主鍵CenterAuto。主鍵的名稱(chēng)CenterAuto就是數據源的名稱(chēng)。
- 向CenterAuto添加鍵值,關(guān)鍵的幾項是
鍵值名
鍵值類(lèi)型
鍵值
含義
Driver
字符串(String)
C:\WINDOWS\SYSTEM\ODBCJT32.DLL
ODBC驅動(dòng)程序DLL
【Delphi 5 數據庫應用中ODBC數據源的自動(dòng)管理】相關(guān)文章:
利用Delphi開(kāi)發(fā)網(wǎng)絡(luò )數據庫應用03-03
文件自動(dòng)分類(lèi)系統Delphi03-08
應用LabSQL實(shí)現LabVIEW中數據庫的訪(fǎng)問(wèn)03-07
非Access數據庫在VB中的編程及應用03-18
從自動(dòng)剎車(chē)系統的工作原理中闡述應用11-23
自動(dòng)化立體庫在電廠(chǎng)中的應用03-09
知識管理在企業(yè)管理中的應用03-15