IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫MSSQL → 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程

配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程

時間:2021-09-09 00:42:57 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

ODBC管理器(Administrator)它負(fù)責(zé)安裝驅(qū)動程序,管理數(shù)據(jù)源,并幫助程序員跟蹤ODBC的函數(shù)調(diào)用。在ODBC中,應(yīng)用程序不能直接存取數(shù)據(jù)庫,它必須通過管理器和數(shù)據(jù)庫交換信息。ODBC管理器負(fù)責(zé)將應(yīng)用程序的SQL語句及其他信息傳遞給驅(qū)動程序,而驅(qū)動程序則負(fù)責(zé)將運(yùn)行結(jié)果送回應(yīng)用程序。運(yùn)行32bit ODBC管理器后,出現(xiàn)一個主對話框,它的主要內(nèi)容是要求用戶輸入一個數(shù)據(jù)源,所謂數(shù)據(jù)源就是數(shù)據(jù)庫位置、數(shù)據(jù)庫類型以及ODBC驅(qū)動程序等信息的集成。數(shù)據(jù)源負(fù)責(zé)將運(yùn)行結(jié)果送回應(yīng)用程序。應(yīng)用程序、ODBC管理在使用之前必須通過ODBC管理器進(jìn)行登記和連接,啟動ODBC管理器后,選取Add按鈕,根據(jù)自己的數(shù)據(jù)庫類型,選擇相應(yīng)的ODBC驅(qū)動程序,然后輸入數(shù)據(jù)源名(Data Source Name)和數(shù)據(jù)庫文件名(Database Name),完成這些步驟后,以后的應(yīng)用程序就能夠通過ODBC管理器的數(shù)據(jù)源直接操縱數(shù)據(jù)庫。

在Window95或者98下,ODBC管理器在控制面板里面的32bit ODBC。而在WINDOW2000下,ODBC管理器是在程序管理工具à數(shù)據(jù)源(ODBC)中。

下面以Window2000下的ODBC管理器為例,介紹一下每一頁的用途:

1、 用戶DSN:ODBC用戶數(shù)據(jù)源存貯了如何與指定數(shù)據(jù)庫提供者連接的信息。只對當(dāng)前用戶可見,而且只能用于當(dāng)前機(jī)器上。這里的當(dāng)前機(jī)器是只這個配置只對當(dāng)前的機(jī)器有效,而不是說只能配置本機(jī)上的數(shù)據(jù)庫。它可以配置局域網(wǎng)中另一臺機(jī)器上的數(shù)據(jù)庫的。

2、 系統(tǒng)DSN: ODBC系統(tǒng)數(shù)據(jù)源存貯了如何指定數(shù)據(jù)庫提供者連接的信息。系統(tǒng)數(shù)據(jù)源對當(dāng)前機(jī)器上的所有用戶都是可見的,包括NT服務(wù)。也就是說在這里配置的數(shù)據(jù)源,只要是這臺機(jī)器的用戶都可以訪問。

3、 文件DSN:ODBC文件數(shù)據(jù)源允許用戶連接數(shù)據(jù)提供者。文件DSN可以由安裝了相同驅(qū)動程序的用戶共享。這是界于用戶DSN和系統(tǒng)DSN之間的一種共享情況。

4、 驅(qū)動程序:這頁列出了本機(jī)上所有安裝的數(shù)據(jù)庫驅(qū)動程序。里面列舉了每個驅(qū)動程序的名稱,版本,提供商公司,驅(qū)動程序文件名,以及安裝日期。

5、 跟蹤:ODBC跟蹤允許創(chuàng)建調(diào)用ODBC的日志,提供給技術(shù)人員查看。里面可設(shè)定日志的路徑和文件名。技術(shù)人員通過這里面的信息可以看到本機(jī)上所有的數(shù)據(jù)庫訪問的時間,用戶,以及出錯信息等情況。也可以通過這個輔助調(diào)試應(yīng)用程序,可以啟動Visual Studio的分析器,來進(jìn)行ODBC的跟蹤。

6、 連接池:連接池允許應(yīng)用程序重用原來打開的的連接句柄,這樣可以節(jié)省到服務(wù)器的往返過程。

7、 關(guān)于:最后這一頁列出了所有的ODBC的核心文件。

這里,我們以常用的Access數(shù)據(jù)庫為例子,來說明創(chuàng)建一個用戶數(shù)據(jù)源的過程。

ODBC和JDBC

ODBC(Open Database Connectivity)是一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API,其最大的優(yōu)點(diǎn)是以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。

JDBC(Java Database Connectivity)是Java與數(shù)據(jù)庫的接口規(guī)范,允許Java程序發(fā)送SQL指令并處理結(jié)果。比較常見JdbcTemplate

一、手工配置

1.ODBC數(shù)據(jù)源管理器

在進(jìn)行數(shù)據(jù)庫開發(fā)時,為了達(dá)到配置ODBC,進(jìn)行DSN定義注冊的目的,微軟給出了一個手工操作的解決方法。在Windows 9X操作系統(tǒng)的控制面板中,有一個名為"ODBC數(shù)據(jù)源(32位)"的圖標(biāo),可以通過它激活專門為用戶設(shè)置ODBC環(huán)境的程序(ODBC Data Source Administrator,ODBC數(shù)據(jù)源管理器)。在Windows 2000操作系統(tǒng)中,上述圖標(biāo)被放置在控制面板的"管理工具"里面。

這個用于設(shè)置ODBC環(huán)境的程序叫做桌面驅(qū)動程序,它支持?jǐn)?shù)種DBMS(Database Management System,數(shù)據(jù)庫管理系統(tǒng))。當(dāng)用戶想增加一個數(shù)據(jù)源和一個所需要的驅(qū)動程序時,可以通過ODBC數(shù)據(jù)源管理器的配置對話框配置特定類型的數(shù)據(jù)庫。大多數(shù)情況下,在編寫對數(shù)據(jù)庫操作的程序時,我們至少需要知道諸如數(shù)據(jù)庫文件名、系統(tǒng)(本地或遠(yuǎn)程)、文件夾等信息,同時要給數(shù)據(jù)源命名。

2.定義數(shù)據(jù)源的類型

用戶可以定義以下三種類型的數(shù)據(jù)源:

●用戶數(shù)據(jù)源:作為位于計(jì)算機(jī)本地的用戶數(shù)據(jù)源而創(chuàng)建的,并且只能被創(chuàng)建這個數(shù)據(jù)源的用戶所使用;

●系統(tǒng)數(shù)據(jù)源:作為屬于計(jì)算機(jī)或系統(tǒng)而不是特定用戶的系統(tǒng)數(shù)據(jù)源而創(chuàng)建的,用戶必須有訪問權(quán)才能使用;

●文件數(shù)據(jù)源:指定到文件中作為文件數(shù)據(jù)源而定義的,任何已經(jīng)正確地安裝了驅(qū)動程序的用戶皆可以使用這種數(shù)據(jù)源。

3.?dāng)?shù)據(jù)源注冊的步驟

以Microsoft Access為例,如果在C:\myfile\文件夾里創(chuàng)建了一個名為myexample.mdb的數(shù)據(jù)庫文件,其注冊步驟如下:

●在控制面板里找到"ODBC數(shù)據(jù)源"圖標(biāo),打開數(shù)據(jù)源管理器的交互界面;

●筆者創(chuàng)建的數(shù)據(jù)庫文件是供本機(jī)上的用戶使用的,所以這里選擇"用戶 DSN";

●然后按下"添加"按鈕,在彈出的數(shù)據(jù)源管理器對話框里,為自己所要創(chuàng)建的數(shù)據(jù)源選擇一個驅(qū)動程序,本文的數(shù)據(jù)庫文件是用Microsoft Access創(chuàng)建的,所以要選擇"Microsoft Access Driver (*.mdb)";

●按"完成"按鈕后,進(jìn)入一個標(biāo)題為"ODBC Microsoft Access 安裝"的界面,在其中設(shè)置"數(shù)據(jù)源名"為"mydatasource",選取數(shù)據(jù)庫文件 "C:\myfile\myexample.mdb",然后確定即可。

這樣我們就完成了一個簡單的ODBC數(shù)據(jù)源的注冊。當(dāng)然,在以上的步驟中,用戶可以根據(jù)自己的不同需要,設(shè)置不同的選項(xiàng)。

注冊結(jié)束后,我們便可以在對數(shù)據(jù)庫的編程中,操作該數(shù)據(jù)庫了。

二、在VB中注冊數(shù)據(jù)源

在VB中對數(shù)據(jù)庫進(jìn)行編程時,可以利用RegisterDataSource方法為ODBC數(shù)據(jù)源輸入連接信息到 Windows 注冊表中。它的語法是:

RegisterDataSource DSN, driver, silent, attributes

其中參數(shù)代表的含義分別為:

●DSN:字符串表達(dá)式,它是在引用數(shù)據(jù)源描述信息塊時所使用的名字。例如,如果數(shù)據(jù)源是一個ODBC遠(yuǎn)程數(shù)據(jù)庫,這就是服務(wù)器的名字;如果是用戶DSN,則是注冊的數(shù)據(jù)源的名字。

●drive:字符串表達(dá)式,表示ODBC驅(qū)動程序的名稱。它并不是 ODBC 驅(qū)動程序動態(tài)連接庫 (DLL) 文件名。例如,SQL Server 是驅(qū)動程序名,而 SQLSRVR.DLL 是 DLL 文件名。必須安裝ODBC 及相應(yīng)的驅(qū)動程序。

●silent:布爾類型值,如果不想顯示 ODBC 驅(qū)動程序?qū)υ捒?,用以提示指定?qū)動程序的信息,該值就為 True;如果希望顯示 ODBC 驅(qū)動程序?qū)υ捒?,該值就?False。如果 silent 為 True,那么attributes必須包含所有必需的指定驅(qū)動程序的信息。

●attributes:字符串表達(dá)式,它是一個要添加到 ODBC.INI 文件中的關(guān)鍵字列表。編寫程序時,可以根據(jù)需要選擇若干attributes的參數(shù)進(jìn)行設(shè)置。

例如:我們可以編寫如下的VB程序,達(dá)到與上面手工注冊一樣的目的。程序清單如下:

Sub RegisterDataSource()

Dim strAttribs As String

’建造關(guān)鍵字字符串。

’C:\myfile\myexample.l.mdb數(shù)據(jù)庫文件名(包含路徑)

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和遠(yuǎn)程數(shù)據(jù)對象,必須先在"引用"對話框中設(shè)置一個到 Microsoft Remote Data Object 2.0 對象庫的引用,否則在第一次引用rdoEngine 對象時會導(dǎo)致編譯錯誤。

三、利用注冊表合并

1.解決思路

考查ODBC數(shù)據(jù)源注冊后對Windows注冊表的修改情況,我們可以發(fā)現(xiàn)所注冊的數(shù)據(jù)源對Windows注冊表的影響關(guān)鍵集中在[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI]里。

這樣,我們導(dǎo)出[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI],每次以之為模板,把所要注冊的數(shù)據(jù)源信息加入到注冊表導(dǎo)出文件的對應(yīng)位置,然后再將該文件與系統(tǒng)注冊表合并即可。

2.具體操作

首先,我們要弄清楚Regedit 及其參數(shù)的含義。Regedit是打開系統(tǒng)注冊表的命令。在"開始\運(yùn)行\(zhòng)"中輸入即可。它的三個參數(shù)含義如下:

●Regedit /e myfile.reg :表示把注冊表文件導(dǎo)出到myfile.reg 文件中,相當(dāng)于復(fù)制整個注冊表文件到myfile.reg中;

●Regedit /c myfile.reg:表示把myfile.reg導(dǎo)入注冊表,相當(dāng)于用該文件的內(nèi)容覆蓋了注冊表的內(nèi)容;

●Regedit /s myfile.reg :表示把myfile.reg文件的內(nèi)容與注冊表文件的內(nèi)容進(jìn)行合并。

我們只需在注冊表中將有用的部分導(dǎo)出,而后將所要注冊的數(shù)據(jù)源的信息加入,再與系統(tǒng)注冊表合并就可以了。這個合并的過程,我們既可以手工輸入來實(shí)現(xiàn),也可以通過編程實(shí)現(xiàn)自動合并。

注意:為了防止誤操作,一定要將系統(tǒng)注冊表作一次備份。

小 結(jié)

從安全的角度考慮,筆者首推利用在Windows控制面板中的ODBC數(shù)據(jù)源管理工具來進(jìn)行數(shù)據(jù)源注冊,以免因?qū)ψ员淼牟皇旎蚴韬鲈斐刹槐匾膿p失。

MySQL 數(shù)據(jù)源配置

第一步:雙擊ODBC 數(shù)據(jù)源(64 位),可以選擇用戶DSN(系統(tǒng)只對當(dāng)前用戶生效),也可以選擇系統(tǒng)DSN(能登錄當(dāng)前系統(tǒng)的用戶都生效)

第二步:點(diǎn)擊添加,選擇事先安裝好的MySQL ODBC xx Driver 驅(qū)動后點(diǎn)擊完成。注意不同版本之間對某些sql語法的支持略有不同(之前吃過這個虧,我的環(huán)境有問題,客戶環(huán)境沒問題)。

第三步:完善基本鏈接信息后點(diǎn)擊Test,提示鏈接成功后點(diǎn)擊OK完成配置。

配置和注冊O(shè)DBC數(shù)據(jù)源

SQLServer 數(shù)據(jù)源配置

配置步驟

第一步:雙擊ODBC 數(shù)據(jù)源(64 位),可以選擇用戶DSN(系統(tǒng)只對當(dāng)前用戶生效),也可以選擇系統(tǒng)DSN(能登錄當(dāng)前系統(tǒng)的用戶都生效)

第二步:點(diǎn)擊添加,選擇SQL Server。這一項(xiàng)我ITDragon 并沒有手動安裝,應(yīng)該是安裝SQL Server數(shù)據(jù)庫的時候自動安裝上去的。

第三步:鍵盤輸入需要連接的SQLServer服務(wù)器,如果是本機(jī),就輸入計(jì)算機(jī)名。如果是遠(yuǎn)程主機(jī)就需要輸入IP,Port 。不要點(diǎn)擊下拉框,會卡死。

配置和注冊O(shè)DBC數(shù)據(jù)源

第四步:選擇SQL Server驗(yàn)證方式

第五步:選擇默認(rèn)數(shù)據(jù)庫,也可以在寫sql語句時將表名的全路徑寫全(我ITDragon 習(xí)慣用寫全)

第六步:可以考慮修改SQL Server的系統(tǒng)消息語言,數(shù)據(jù)的加密,執(zhí)行字符數(shù)據(jù)翻譯,修改日志保存路徑等。也可以默認(rèn)。

第七步:點(diǎn)擊完成,彈出“按照以下配置創(chuàng)建新的ODBC數(shù)據(jù)源”,點(diǎn)擊測試數(shù)據(jù)源,提示測試成功。點(diǎn)擊確定完成創(chuàng)建。

關(guān)鍵詞標(biāo)簽:數(shù)據(jù)庫管理,ODBC

相關(guān)閱讀 Linux上配置Unix ODBC連接Oracle數(shù)據(jù)庫 講解數(shù)據(jù)庫管理系統(tǒng)必須提供的基本服務(wù) 通過ODBC來連接Oracle 數(shù)據(jù)庫 深入了解SQL Server 2008 商業(yè)智能平臺 剖析SQL Server 事務(wù)日志的收縮和截?cái)?/a> MS SQL數(shù)據(jù)庫置疑解決辦法

文章評論
發(fā)表評論

熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系

人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法