一、手工配置
1.odbc資料來源管理器
在進行資料庫開發時,為了達到配置odbc,進行dsn定義註冊的目的,微軟給出了乙個手工操作的解決方法。在windows 9x作業系統的控制面板中,有乙個名為「odbc資料來源(32位)」的圖示,可以通過它啟用專門為使用者設定odbc環境的程式(odbc data source administrator,odbc資料來源管理器)。在windows 2000作業系統中,上述圖示被放置在控制面板的「管理工具」裡面。
這個用於設定odbc環境的程式叫做桌面驅動程式,它支援數種dbms(database management system,資料庫管理系統)。當使用者想增加乙個資料來源和乙個所需要的驅動程式時,可以通過odbc資料來源管理器的配置對話方塊配置特定型別的資料庫。大多數情況下,在編寫對資料庫操作的程式時,我們至少需要知道諸如資料庫檔名、系統(本地或遠端)、資料夾等資訊,同時要給資料來源命名。
2.定義資料源的型別
使用者可以定義以下三種型別的資料來源:
●使用者資料來源:作為位於計算機本地的使用者資料來源而建立的,並且只能被建立這個資料來源的使用者所使用;
●系統資料來源:作為屬於計算機或系統而不是特定使用者的系統資料來源而建立的,使用者必須有訪問權才能使用;
●檔案資料來源:指定到檔案中作為檔案資料來源而定義的,任何已經正確地安裝了驅動程式的使用者皆可以使用這種資料來源。
3.資料來源註冊的步驟
以microsoft access為例,如果在c:\myfile\資料夾裡建立了乙個名為myexample.mdb的資料庫檔案,其註冊步驟如下:
●在控制面板裡找到「odbc資料來源」圖示,開啟資料來源管理器的互動介面;
●筆者建立的資料庫檔案是供本機上的使用者使用的,所以這裡選擇「使用者 dsn」;
●然後按下「新增」按鈕,在彈出的資料來源管理器對話方塊裡,為自己所要建立的資料來源選擇乙個驅動程式,本文的資料庫檔案是用microsoft access建立的,所以要選擇「microsoft access driver (*.mdb)」;
●按「完成」按鈕後,進入乙個標題為「odbc microsoft access 安裝」的介面,在其中設定「資料來源名」為「mydatasource」,選取資料庫檔案 「c:\myfile\myexample.mdb」,然後確定即可。
這樣我們就完成了乙個簡單的odbc資料來源的註冊。當然,在以上的步驟中,使用者可以根據自己的不同需要,設定不同的選項。
註冊結束後,我們便可以在對資料庫的程式設計中,操作該資料庫了。
二、在vb中註冊資料來源
在vb中對資料庫進行程式設計時,可以利用registerdatasource方法為odbc資料來源輸入連線資訊到 windows 登錄檔中。它的語法是:
registerdatasource dsn, driver, silent, attributes
其中引數代表的含義分別為:
●dsn:字串表示式,它是在引用資料來源描述資訊塊時所使用的名字。例如,如果資料來源是乙個odbc遠端資料庫,這就是伺服器的名字;如果是使用者dsn,則是註冊的資料來源的名字。
●drive:字串表示式,表示odbc驅動程式的名稱。它並不是 odbc 驅動程式動態連線庫 (dll) 檔名。例如,sql server 是驅動程式名,而 sqlsrvr.dll 是 dll 檔名。必須安裝odbc 及相應的驅動程式。
●silent:布林型別值,如果不想顯示 odbc 驅動程式對話方塊,用以提示指定驅動程式的資訊,該值就為 true;如果希望顯示 odbc 驅動程式對話方塊,該值就為 false。如果 silent 為 true,那麼attributes必須包含所有必需的指定驅動程式的資訊。
●attributes:字串表示式,它是乙個要新增到 odbc.ini 檔案中的關鍵字列表。編寫程式時,可以根據需要選擇若干attributes的引數進行設定。
例如:我們可以編寫如下的vb程式,達到與上面手工註冊一樣的目的。程式清單如下:
sub registerdatasource()
dim strattribs as string
』建造關鍵字字串。
』c:\myfile\myexample.l.mdb資料庫檔名(包含路徑)
strattribs =「dbq=」 _
& 「c:\myfile\myexample.mdb」 _
& chr$(13) & 「oemtoansi=no」 _
& chr$(13) & 「server=sequel」 _
& chr$(13) & 「network=dbnmpntw」 _
& chr$(13) & 「database=workdb」_
& chr$(13) &「address=\\sequel\pipe\sql\query」
』建立新的註冊的 dsn。
rdoengine.rdoregisterdatasource 「mydatasource」,
「microsoft access driver (*.mdb)」, true,
strattribs
end sub
private sub form_load()
call rdoregisterdatasource
end sub
注意:為了在**中使用rdoengine和遠端資料物件,必須先在「引用「對話方塊中設定乙個到 microsoft remote data object 2.0 物件庫的引用,否則在第一次引用rdoengine 物件時會導致編譯錯誤。
三、利用登錄檔合併
1.解決思路
考查odbc資料來源註冊後對windows登錄檔的修改情況,我們可以發現所註冊的資料來源對windows登錄檔的影響關鍵集中在[hkey_current_user\software\odbc\odbc.ini]裡。
這樣,我們匯出[hkey_current_user\software\odbc\odbc.ini],每次以之為模板,把所要註冊的資料來源資訊加入到登錄檔匯出檔案的對應位置,然後再將該檔案與系統登錄檔合併即可。
2.具體操作
首先,我們要弄清楚regedit 及其引數的含義。regedit是開啟系統登錄檔的命令。在「開始\執行\」中輸入即可。它的三個引數含義如下:
●regedit /e myfile.reg :表示把登錄檔檔案匯出到myfile.reg 檔案中,相當於複製整個登錄檔檔案到myfile.reg中;
●regedit /c myfile.reg:表示把myfile.reg匯入登錄檔,相當於用該檔案的內容覆蓋了登錄檔的內容;
●regedit /s myfile.reg :表示把myfile.reg檔案的內容與登錄檔檔案的內容進行合併。
我們只需在登錄檔中將有用的部分匯出,而後將所要註冊的資料來源的資訊加入,再與系統登錄檔合併就可以了。這個合併的過程,我們既可以手工輸入來實現,也可以通過程式設計實現自動合併。
注意:為了防止誤操作,一定要將系統登錄檔作一次備份。
小 結
從安全的角度考慮,筆者首推利用在windows控制面板中的odbc資料來源管理工具來進行資料來源註冊,以免因對登錄檔的不熟或疏忽造成不必要的損失。當然,還有一些應用工具,可以實現對odbc資料來源的註冊,使用者可以根據不同的需求選擇使用。
幾種註冊ODBC資料來源的方法
幾種註冊 odbc 資料來源的 方法國防科大丁浩 odbc opendatabaseconnectivity,開放式互連 是一種應用程式介面 api 規範。它定義了乙個標準例程集,使用它們應用程式可訪問 資料來源中的資料。應用程式通過引用api的函式可以直接使用 odbc,或利用資料訪問物件 dao...
ODBC資料來源
一組資料的位置,可以使用 odbc 驅動程式訪問該位置。也是一種儲存的定義,包含 odbc 應用程式連線到 資料來源所需的全部連線資訊。odbc open database connectivity,開放資料庫互連 是微軟公司開放服務結構 wosa,windows open services arc...
建立ODBC 資料來源
建立odbc 資料來源 odbc 連線在系統控制面板中配置。可以對任何已安裝odbc 驅動程式的資料來源建立odbc 連線。visual c 6.0 或更高版本附帶了用於文字檔案 access foxpro paradox dbase excel sql server 和oracle 的驅動程式。建...