在mysql中,odbc的中文意思為“開放式數(shù)據(jù)庫(kù)連接”, 是用于訪問數(shù)據(jù)庫(kù)的開放式標(biāo)準(zhǔn)應(yīng)用程序編程接口(API),允許與SQL數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行連接。odbc是根據(jù)SQL Access Group的規(guī)范開發(fā)的,它定義了一套函數(shù)調(diào)用、錯(cuò)誤代碼和數(shù)據(jù)類型,可將其用于開發(fā)獨(dú)立于數(shù)據(jù)庫(kù)的應(yīng)用程序。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
什么是 ODBC?
在mysql中,odbc全稱“Open Database Connectivity”,中文意思為“開放式數(shù)據(jù)庫(kù)連接”
ODBC是用于訪問數(shù)據(jù)庫(kù)的開放式標(biāo)準(zhǔn)應(yīng)用程序編程接口 (API)。1992年,微軟與Simba合作打造了世界上第一個(gè)ODBC驅(qū)動(dòng);SIMBA.DLL 和基于標(biāo)準(zhǔn)的數(shù)據(jù)訪問誕生了。通過在程序中使用 ODBC 語句,您可以訪問多個(gè)不同公共數(shù)據(jù)庫(kù)中的文件。除了 ODBC 軟件,每個(gè)要訪問的數(shù)據(jù)庫(kù)都需要一個(gè)單獨(dú)的模塊或驅(qū)動(dòng)程序。
ODBC為客戶端程序提供了訪問眾多數(shù)據(jù)庫(kù)或數(shù)據(jù)源的一種方式。ODBC是標(biāo)準(zhǔn)化的API,允許與SQL數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行連接。它是根據(jù)SQL Access Group的規(guī)范開發(fā)的,它定義了一套函數(shù)調(diào)用、錯(cuò)誤代碼和數(shù)據(jù)類型,可將其用于開發(fā)獨(dú)立于數(shù)據(jù)庫(kù)的應(yīng)用程序。通常情況下,當(dāng)需要數(shù)據(jù)庫(kù)獨(dú)立或需要同時(shí)訪問不同的數(shù)據(jù)源時(shí),將用到ODBC。
ODBC 概述
ODBC 已成為關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS) 中基于標(biāo)準(zhǔn)的數(shù)據(jù)訪問的事實(shí)標(biāo)準(zhǔn)。早在 90 年代初期,Simba 就與 Microsoft 密切合作共同開發(fā) ODBC 標(biāo)準(zhǔn)。ODBC 標(biāo)準(zhǔn)實(shí)現(xiàn)了最大的互操作性,從而使應(yīng)用程序開發(fā)人員能夠編寫一個(gè)應(yīng)用程序來訪問來自不同供應(yīng)商的數(shù)據(jù)源。ODBC 基于 Open Group 和 ISO/IEC 的數(shù)據(jù)庫(kù) API 的調(diào)用級(jí)接口 (CLI) 規(guī)范,并使用結(jié)構(gòu)化查詢語言 (SQL) 作為其數(shù)據(jù)庫(kù)訪問語言。
ODBC 架構(gòu)
基于 ODBC 的數(shù)據(jù)連接架構(gòu)如下:
支持 ODBC 的應(yīng)用程序
這是任何符合 ODBC 的應(yīng)用程序,例如 Microsoft Excel、Tableau、Crystal Reports、Microsoft Power BI 或類似應(yīng)用程序(電子表格、文字處理器、數(shù)據(jù)訪問和可檢索工具等)。啟用 ODBC 的應(yīng)用程序通過將 SQL 語句傳遞到 ODBC 驅(qū)動(dòng)程序管理器并從其接收結(jié)果來執(zhí)行處理。
ODBC 驅(qū)動(dòng)程序管理器
ODBC 驅(qū)動(dòng)程序管理器代表應(yīng)用程序加載和卸載 ODBC 驅(qū)動(dòng)程序。Windows 平臺(tái)帶有默認(rèn)的驅(qū)動(dòng)程序管理器,而非 Windows 平臺(tái)可以選擇使用開源 ODBC 驅(qū)動(dòng)程序管理器,如 unixODBC 和 iODBC。ODBC 驅(qū)動(dòng)程序管理器處理 ODBC 函數(shù)調(diào)用,或?qū)⑺鼈儌鬟f給 ODBC 驅(qū)動(dòng)程序并解決 ODBC 版本沖突。
ODBC 驅(qū)動(dòng)程序
ODBC 驅(qū)動(dòng)程序處理 ODBC 函數(shù)調(diào)用,向特定數(shù)據(jù)源提交 SQL 請(qǐng)求并將結(jié)果返回給應(yīng)用程序。ODBC 驅(qū)動(dòng)程序還可以修改應(yīng)用程序的請(qǐng)求,以使請(qǐng)求符合相關(guān)數(shù)據(jù)庫(kù)支持的語法。Simba Technologies 提供了一個(gè)用于輕松構(gòu)建 ODBC 驅(qū)動(dòng)程序的框架,以及用于許多數(shù)據(jù)源(如 Salesforce、MongoDB、Spark 等)的 ODBC 驅(qū)動(dòng)程序。Simba SDK 提供 C++、Java 和 C# 版本,支持為 Windows、OSX 和許多 *Nix 發(fā)行版構(gòu)建驅(qū)動(dòng)程序。
數(shù)據(jù)源
數(shù)據(jù)源只是數(shù)據(jù)的來源。它可以是文件、DBMS 上的特定數(shù)據(jù)庫(kù),甚至是實(shí)時(shí)數(shù)據(jù)饋送。數(shù)據(jù)可能與程序位于同一臺(tái)計(jì)算機(jī)上,也可能位于網(wǎng)絡(luò)上某處的另一臺(tái)計(jì)算機(jī)上。
【