ODBC的基础架构
*) 基本概念:
1. 应用程序(Application)
2. ODBC驱动管理器(ODBC Driver Manager)
负责管理应用程序和驱动程序间的通信,主要功能包括:解析DSN (数据源名称,ODBC的数据源名称在ODBC.INI文件中配置),加载和卸载驱动程序,处理ODBC调用,将其传递给驱动程序.
3. ODBC驱动(ODBC Driver)
实现ODBC API所提供的功能,它负责处理ODBC函数调用,将SQL请求提交给具体的数据库服务器,并将结果返回给应用程序.
4. ODBC数据源管理器 (ODBC Administrator)
用于配置具体ODBC驱动的数据源信息
5. DSN (Data Source Name)
*) 应用阶段的基础架构
1. 以mysql-odbc为例, 具体阐释ODBC在应用层的一个架构
如下为linux版的应用层架构
2. 以下为windows版的应用层架构
两者的主要区别在于, linux主要采用odbc.ini和odbcinst.ini来管理数据源和驱动类型, 而windows则采用注册表(registry)的方式来存储.
*) 安装的基础架构
linux版
linux版的驱动管理器它并不是系统的一部分, 需要用户自己编译安装unixODBC, 其数据源的配置管理需要用户自己去配置odbc.ini, odbcinst.ini.
odbcinst.ini的配置一般如下:
[mysql]
Driver=/usr/local/lib/libmyodbc5.so
SETUP=/usr/local/lib/libmyodbc5.so
UsageCount=1
windows版
windows的驱动管理器由系统自带. 具体的驱动安装程序, 则由两个dll组成, 一个为具体的driver dll, driver是会被驱动管理器加载, 并作应用程序和后端具体数据库进行数据交互的桥梁, 另一个为setup dll, 这个dll的主要作用是用于配置数据源信息.
以mysql为例, mysql-connector/odbc安装之后:
(1). 在安装路径下C:\Program Files\MySQL\Connector ODBC 5.3目录下, 能发现myodbc5w.dll (driver dll), myodbc5S.dll (setup dll),
(2). 同时在HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI目录项下写入如下具体信息
Driver键对应myodbc5w.dll, Setup键对应myodbc5S.dll的绝对路径信息.
*) 数据源配置的基础架构
linux版
以mysql为例, 需要编辑odbc.ini文件
[ODBC Data Sources]
myodbc = MyODBC 2.50 Driver DSN [myodbc]
Driver = /usr/local/lib/libmyodbc.so
Description = MyODBC 2.50 Driver DSN
SERVER = localhost
PORT = 3306
USER = root
Password = 123456
Database = test
OPTION = 3
SOCKET =
windows版
启用odbc数据源配置器, 其读取数据源驱动类型, 用户可以选择系统/用户/文件DSN. 当选择具体的驱动和DSN类型之后, odbc数据源配置管理器会依据选择的ODBC驱动, 会加载对应的setup dll(动态链接库), 打开具体的图形配置窗口, 当用户可视化配置好相关的参数后, 该setup dll会把相关信息写入到注册表中(实现了ODBC规范中的ConfigDSN).
在注册表的HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI的目录项中, 写入如下信息.
*) 总结
知道odbc的组成/安装/配置/运行时的架构之后, 对odbc整个会有更深入的理解, 能理解odbc整个体系是如何运行起来的, 同时为具体编写某个odbc driver实现提供了理论基础.
*) 参考资料:
www.cnblogs.com/linmzh/archive/2012/10/19/2730579.html
ODBC的基础架构的更多相关文章
- IT基础架构规划方案三(IT基础软件和系统规划)
IT基础软件和系统规划 操作系统选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的 ...
- MVP社区巡讲-云端基础架构:12月5日北京站 12月12日上海站
紧跟当今的技术发展趋势还远远不够,我们要引领变革!加入本地技术专家社区,获取真实案例.实况培训演示以及探讨新一代解决方案.在此活动中,您将: 了解如何运用开源(OSS)技术.Microsoft 技术及 ...
- IT基础架构规划方案一(网络系统规划)
背景 某集团经过多年的经营,公司业务和规模在不断发展,公司管理层和IT部门也认识到通过信息化手段可以更好地支撑公司业务运营.提高企业生产和管理效率.同时随着新建办公 ...
- IT基础架构规划方案二(计算机系统与机房规划规划)
计算机系统规划 服务器硬件选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选 ...
- IT基础架构规划方案之实际网络设计案例
根据某集团总部新办公大楼.厂房和分支机构(店面)的情况,以及IT部门对网络节点数.网络应用和分支机构(店面)的初步规划,对企业的总体网络拓扑结构进行设计,如下图. 设备选型和部署参考: 类型 设备选型 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(4)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第四部分. 原文地址:http://blog.jobbole.com/89214/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(3)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Manuel Kiessling.欢迎加 ...
- [Search Engine] 搜索引擎分类和基础架构概述
大家一定不会多搜索引擎感到陌生,搜索引擎是互联网发展的最直接的产物,它可以帮助我们从海量的互联网资料中找到我们查询的内容,也是我们日常学习.工作和娱乐不可或缺的查询工具.之前本人也是经常使用Googl ...
- 移动互联网实战--Web Restful API设计和基础架构
前言: 在移动互联网的大潮中, Web Restful API逐渐成为Web Server重要的一个分支. 移动端和服务端的交互, 主流的方式还是通过Http协议的形式来进行. 请求以Get/Post ...
随机推荐
- Unity寻路的动态烘焙
随着Unity5.6的推出,我们终于迎来了NavMesh的动态烘培,我们期待已久的功能终于来了,不用再研究A*算法了,话说改进的网格寻路更加方便高效. 网址:https://blog.csdn.net ...
- SQLServer创建用户、数据库、表、约束、存储过程、视图
--创建登录账户和数据库用户 ' exec sp_grantdbaccess 'sysAdmin','aa' --给数据库用户赋权限 grant select,update,insert,delete ...
- springboot入门(一)--快速搭建一个springboot框架
原文出处 前言在开始之前先简单介绍一下springboot,springboot作为一个微框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架 ...
- Java EE、Java SE和Java ME
Java SE=Java Standard EditionJava EE=Java Enterprise EditionJava ME=Java Mobile Edition SE主要用于桌面程序,控 ...
- mybatis: 多对多查询[转]
加入3个包 log4j-1.2.17.jar mybatis-3.3.0.jar mysql-connector-java-5.1.8.jar log4j需要配置 log4j.properties # ...
- English trip -- VC(情景课)2 A At school
xu言: Sometimes, I feel very confused. However, there will always be a weak light in a corner to ligh ...
- 3-13《元编程》第5章Class Definitions 3-14(5-4Singleton Classes,2小时)3-15(3小时✅)
类宏 环绕别名 singleton class Class就是增强的模块,类定义也就是模块定义. 5.1 Class Definitions Demystified 5.11 Inside Class ...
- Android控件Gridview实现多个menu模块,可添加可删除
此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...
- Android 7.0正式版工厂镜像下载
Android 7.0正式版工厂镜像下载 从3月份上线首个开发者预览版(Developer Preview)之后,经过近6个月时间的打磨,谷歌今天开始向Nexus设备推送Android 7.0 Nou ...
- mysql日期查询大全
-- 查询昨日一整天的数据 DAY) ,'%Y-%m-%d 23:59:59') AS '昨日结束时间' -- 查询今日开始到当前时间的数据 DAY) ,'%Y-%m-%d %H:%i:%s') AS ...