ODBC(Open Database Connectivity)?? Connectivity:連通性
DSN(Data Source Name)用于指定ODBC與相關的驅(qū)動程序相對應的一個入口
當應用程序要使用ODBC訪問數(shù)據(jù)庫時,就需要指定一個DSN以便于連接到一個指定的ODBC驅(qū)動程序
ATL(Active樣板庫)
UDA通用數(shù)據(jù)訪問,使用OLE DB訪問任何數(shù)據(jù)庫 由OLE DB,ADO,ODBC組成
RDO遠程數(shù)據(jù)對象
DAO數(shù)據(jù)訪問對象
ODBC開放數(shù)據(jù)庫互連
ADO(Active Data Object)是一個訪問OLE DB的類層
OLE DB有一組COM接口組成
ODBC的框架
1。使用驅(qū)動器管理器和特定的數(shù)據(jù)庫驅(qū)動器來獲得ODBC,
2。利用ODBC來調(diào)用應用程序,訪問ODBC驅(qū)動器管理器(ODBC32DLL),
3。利用ODBC驅(qū)動器管理器調(diào)用數(shù)據(jù)庫指定的ODBC驅(qū)動器,
4。利用數(shù)據(jù)庫指定的ODBC驅(qū)動器來訪問數(shù)據(jù)庫
ODBC訪問多種數(shù)據(jù)庫
????????????????????????????????????????????????????????????????????????????|->Oracle ODBC數(shù)據(jù)庫驅(qū)動器
ODBC應用程序-->ODBC驅(qū)動器管理程序-->|?????????????????????????????-->關系數(shù)據(jù)庫數(shù)據(jù)源
????????????????????????????????????????????????????????????????????????????|->SQL Server數(shù)據(jù)庫驅(qū)動器
CObject類 CDatabase CRecordset訪問數(shù)據(jù)庫源
DSN共分為三類:
用戶DSN:對當前登錄用戶可見,只能夠用于當前計算機。
系統(tǒng)DSN:對當前系統(tǒng)上所有用戶可見,包括NT中的服務。
文件DSN:DSN信息存放在文件中,對能夠訪問到該文件的用戶可見。
一個使用Access數(shù)據(jù)庫的DSN中的信息如下:
[ODBC]
DRIVER=Driver do Microsoft Access (*.mdb)
UID=Admin
DefaultDir=C:\DB
DBQ=C:\DB\1.mdb
在使用ODBC開發(fā)時一個重要的問題就是數(shù)據(jù)轉(zhuǎn)換的問題,在程序運行過程中數(shù)據(jù)需要經(jīng)歷兩次轉(zhuǎn)換:C語言的數(shù)據(jù)或結(jié)構(gòu)類型與ODBC的數(shù)據(jù)類型的轉(zhuǎn)換,ODBC與SQL間數(shù)據(jù)類型的轉(zhuǎn)換
ODBC中的句柄分為三類:環(huán)境句柄,數(shù)據(jù)庫連接句柄,SQL語句句柄