IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(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é)將運行結(jié)果送回應(yīng)用程序。運行32bit ODBC管理器后,出現(xiàn)一個主對話框,它的主要內(nèi)容是要求用戶輸入一個數(shù)據(jù)源,所謂數(shù)據(jù)源就是數(shù)據(jù)庫位置、數(shù)據(jù)庫類型以及ODBC驅(qū)動程序等信息的集成。數(shù)據(jù)源負(fù)責(zé)將運行結(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)前機器上。這里的當(dāng)前機器是只這個配置只對當(dāng)前的機器有效,而不是說只能配置本機上的數(shù)據(jù)庫。它可以配置局域網(wǎng)中另一臺機器上的數(shù)據(jù)庫的。

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

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

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

5、 跟蹤:ODBC跟蹤允許創(chuàng)建調(diào)用ODBC的日志,提供給技術(shù)人員查看。里面可設(shè)定日志的路徑和文件名。技術(shù)人員通過這里面的信息可以看到本機上所有的數(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)點是以統(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ù)源:作為位于計算機本地的用戶數(shù)據(jù)源而創(chuàng)建的,并且只能被創(chuàng)建這個數(shù)據(jù)源的用戶所使用;

●系統(tǒng)數(shù)據(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ù)庫文件是供本機上的用戶使用的,所以這里選擇"用戶 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è)置不同的選項。

注冊結(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)注冊表的命令。在"開始\運行\(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)注冊表合并就可以了。這個合并的過程,我們既可以手工輸入來實現(xiàn),也可以通過編程實現(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)的用戶都生效)

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

第三步:完善基本鏈接信息后點擊Test,提示鏈接成功后點擊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)的用戶都生效)

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

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

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

第四步:選擇SQL Server驗證方式

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

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

第七步:點擊完成,彈出“按照以下配置創(chuàng)建新的ODBC數(shù)據(jù)源”,點擊測試數(shù)據(jù)源,提示測試成功。點擊確定完成創(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ù)日志的收縮和截斷 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的方法