国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

幾種注冊 ODBC數據源的方法

2024-07-21 02:09:17
字體:
來源:轉載
供稿:網友

幾種注冊 odbc數據源的方法
國防科大 丁 浩


odbc(open database connectivity,開放式數據庫互連)是一種應用程序接口 (api) 規范。它定義了一個標準例程集,使用它們應用程序可訪問數據源中的數據。應用程序通過引用 api 的函數可以直接使用 odbc,或利用數據訪問對象 (dao) 或遠程數據對象 (rdo) 來使用odbc。但是,在實現odbc時,我們必須首先配置odbc環境,進行數據源的注冊,這樣才能在對數據庫進行編程時,對數據源進行連接、訪問和操作。本文介紹幾種常用的注冊odbc數據源的方法。
手工配置
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=/ equel/pipe ql/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 oftware/odbc/odbc.ini]里。
這樣,我們導出[hkey_current_user oftware/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數據源的注冊,用戶可以根據不同的需求選擇使用。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托克逊县| 利津县| 英德市| 昭觉县| 佛学| 株洲县| 迭部县| 闸北区| 桂东县| 施秉县| 周至县| 海口市| 北流市| 九江市| 习水县| 方正县| 黄大仙区| 乃东县| 明水县| 铜川市| 临汾市| 旬邑县| 永州市| 嘉黎县| 英德市| 远安县| 宜良县| 炎陵县| 德令哈市| 讷河市| 吐鲁番市| 阿克陶县| 平武县| 闽清县| 阳原县| 商丘市| 大城县| 涡阳县| 双峰县| 修水县| 桦南县|