ODBC(Open Database Connectivity) Connectivity:连通性
DSN(Data Source Name)用于指定ODBC与相关的驱动程序相对应的一个入口
当应用程序要使用ODBC访问数据库时,就需要指定一个DSN以便于连接到一个指定的ODBC驱动程序
ATL(Active样板库)
UDA通用数据访问,使用OLE DB访问任何数据库 由OLE DB,ADO,ODBC组成
RDO远程数据对象
DAO数据访问对象
ODBC开放数据库互连
ADO(Active Data Object)是一个访问OLE DB的类层
OLE DB有一组COM接口组成
ODBC的框架
1。使用驱动器管理器和特定的数据库驱动器来获得ODBC,
2。利用ODBC来调用应用程序,访问ODBC驱动器管理器(ODBC32DLL),
3。利用ODBC驱动器管理器调用数据库指定的ODBC驱动器,
4。利用数据库指定的ODBC驱动器来访问数据库
ODBC访问多种数据库
|->Oracle ODBC数据库驱动器
ODBC应用程序-->ODBC驱动器管理程序-->| -->关系数据库数据源
|->SQL Server数据库驱动器
CObject类 CDatabase CRecordset访问数据库源
DSN共分为三类:
用户DSN:对当前登录用户可见,只能够用于当前计算机。
系统DSN:对当前系统上所有用户可见,包括NT中的服务。
文件DSN:DSN信息存放在文件中,对能够访问到该文件的用户可见。
一个使用Access数据库的DSN中的信息如下:
[ODBC]
DRIVER=Driver do Microsoft Access (*.mdb)
UID=Admin
DefaultDir=C:\DB
DBQ=C:\DB\1.mdb
在使用ODBC开发时一个重要的问题就是数据转换的问题,在程序运行过程中数据需要经历两次转换:C语言的数据或结构类型与ODBC的数据类型的转换,ODBC与SQL间数据类型的转换
ODBC中的句柄分为三类:环境句柄,数据库连接句柄,SQL语句句柄