ODBC是什么意思

ODBC是什么意思,第1张

ODBC是一种连接数据库的开放标准。
ODBC(Open DataBase Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
它本身就是为了是数据库的使用者不必考虑使用的是何种数据库而只需要相同的 *** 作而设计的。
ODBC是Open Database Connect即开放数据库互连的简称,它是由Microsoft 公司于1991 年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的 *** 作,避免了在应用程序中直接调用与数据库相关的 *** 作,从而提供了数据库的独立性。
ODBC 主要由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持ODBC 函数调用的模块,每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由ODBC 管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器可链接到所有ODBC 应用程序中,它负责管理应用程序中ODBC 函数与DLL 中函数的绑定。
ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一。
从结构上分,ODBC 分为单束式和多束式两类。
1单束式驱动程序
单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。当用户进行数据库 *** 作时,应用程序传递一个ODBC 函数调用给ODBC 驱动程序管理器,由ODBC API 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的 *** 作,尽管该数据库可能位于网络的任何地方。
2多束式驱动程序
多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理 *** 作而用于远程 *** 作的网络通信协议的一个界面。前端应用程序提出对数据库处理的请求,该请求转给ODBC 驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle 的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC 驱动程序,再由驱动程序将结果传给应用程序。

本文详细地介绍了如何在客户端配置DB2 for Windows的ODBC数据源,然后又以“万能数据库
查询分析器”的中文版本《DB 查询分析器》为工具,通过配置的ODBC数据源来访问远程基于Windows2000 Server *** 作系统的DB2数据库服务器。
本文同样适应用在客户端配置远程 DB2 for Other OS, 如Aix、Linux、或者Solaris等等。
1 获得DB2端口号
首先要获得远程基于Winows2000 Server *** 作系统的DB2的端口号。在远程Winows主机上运行DB2命令行处理器,然后接着输入命令“ DB2 get dbm cfg |find "SVCENAME" ”,执行后找到“SVCENAME”来获得DB2的TCP/IP 服务名db2c_DB2 。
点击开始菜单,在“运行”处输入“drivers”,在打开资源管理器中找到子目录etc(整体目录Winows2000中为c:\winnt\system32\drivers\etc、WinXP或者Win7中为c:\windows\system32\drivers\etc)就可以找到文件services并打开它
在文件services中找到TCP/IP 服务名db2c_DB2对应的端口号 50000。
2 客户端上配置ODBC数据源
在客户端打开DB2的配置助手,然后按照以下步骤来建立ODBC数据源。
选择远程 DB2数据库主机的 *** 作系统, 如Windows,Aix、Linux、或者Solaris等。
最后,点击“完成“按钮结束整个配置工作。
3 DB查询分析器通过ODBC访问DB2数据库
中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它具有强大的功能、友好的 *** 作界面、良好的 *** 作性、跨越各种数据库平台乃至于EXCEL和文本文件。
你可以通过它查询ODBC数据源(包括世面上所有的数据库、TXT/CSV文件、EXCEL文件)的数据。你可以同时执行多条DML语句乃至存贮过程,结果会以你设定的表格、文本框、文件来返回。从数据库导出千万条数据时,效率与DBMS没有什么区别。
在《程序员》2007第2期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。
下载安装《DB 查询分析器》并运行它,输入建立的ODBC数据源名称“MGF_DB1”、用户名和口令。
备注:
如果您的计算机上安装有“万能数据库查询分析器”以前的版本,请先将旧版本 Uninstall,然后再安装新版本,

ODBC是依靠分层结构来实现的,如此可保证其标准性和开放性。图2所示为ODBC的体系结构,它共分为四层:应用程序、驱动程序管理器、驱动程序和数据源。微软公司对ODBC规程进行了规范,它为应用层的开发者和用户提供标准的函数、语法和错误代码等,微软还提供了驱动程序管理器,它在Windows中是一个动态链接库即ODBCDLL。驱动程序层由微软、DBMS厂商或第三开发商提供,它必须符合ODBC的规程,对于Oracle,它是ORA6WINDLL,对于SQL Server,它是SQLSRVRDLL。
@@12W03501GIF;图2 ODBC体系结构@@
下面我们详细介绍各层的功能。 使用ODBC接口的应用程序可执行以下任务:
①请求与数据源的连接和会话(SQLConnect); ②向数据源发送SQL请求(SQLExecDirct或SQLExecute); ③对SQL请求的结果定义存储区和数据格式; ④请求结果; ⑤处理错误; ⑥如果需要,把结果返回给用户; ⑦对事务进行控制,请求执行或回退 *** 作(SQLTransact); ⑧终止对数据源的连接(SQLDisconnect)。 由微软提供的驱动程序管理器是带有输入库的动态连接库ODBCDLL,其主要目的是装入驱动程序,此外还执行以下工作:
①处理几个ODBC初始化调用;
②为每一个驱动程序提供ODBC函数入口点;
③为ODBC调用提供参数和次序验证。 驱动程序是实现ODBC函数和数据源交互的DLL,当应用程序调用SQL Connect或者SQLDriver Connect函数时,驱动程序管理器装入相应的驱动程序,它对来自应用程序的ODBC函数调用进行应答,按照其要求执行以下任务:
①建立与数据源的连接;
②向数据源提交请求;
③在应用程序需求时,转换数据格式;
④返回结果给应用程序;
⑤将运行错误格式化为标准代码返回;
⑥在需要时说明和处理光标。
以上这些功能都是对应用程序层功能的具体实现。驱动程序的配置方式可以划分为以下两种。
(1)单层次(single-tier) 这种方式下,驱动程序要处理ODBC调用SQL语句,并直接 *** 纵数据库,因此具有数据存取功能。这种配置最常见的是同一台微机之上异种数据库通过ODBC存取,如在Powerbuilder中存取XBase、Excel、Paradox等数据文件,如图3所示。@@12W03502GIF;图3 一层配置示意图@@
(2)多层次(multiple-tier) 这种配置中驱动程序仅仅处理ODBC调用,而将SQL语句交给服务器执行,然后返回结果。这种情况往往是应用程序、驱动程序管理器、驱动程序驻留在客户机端,而数据源和数据存取功能放在服务器端。譬如用Foxpro或Excel存取SQL Server或Oracle上的数据,如图4所示。
@@12W03503GIF;图4 二层配置示意图@@
有时在以上两者之间加上网关以解决通信协议的转换等问题,这时驱动程序要将请求先传送给网关,如访问DEC RDB和IBM AS/400时的配置,如图5所示。
@@12W03504GIF;图5 三层配置示意图@@ 由用户想要存取的数据和它相关的 *** 作系统、DBMS及网络环境组成。

1选择“开始”→“管理工具”→“数据源(ODBC)”选项,显示“ODBC数据源管理器”对话框。

2切换到“系统DSN”选项卡,默认情况下计算机中没有部署和任何数据库的连接。

3单击“添加”按钮,显示“创建新数据源”对话框。在“选择您想为其安装数据源的驱动程序”列表中,选择“SQLServer”选项。

4单击“完成”按钮,启动创建新数据源向导,显示“创建到SQLServer的新数据源”对话框。在“名称”文本框中,键入数据源的名称,在“服务器”列表中选择目标SQLServer2008数据库服务器,或者键入数据库服务器的名称。

5单击“下一步”按钮,显示下图对话框,设置数据库的身份验证方法。ODBC支持基于WindowsNT模式的身份验证和基于SQLServer的验证模式。本例中选择SQLServer验证模式。在“登录ID”文本框中,键入数据库管理员的名称,在“密码”文本框键入数据库管理员的密码。

6单击“下一步”按钮,显示下图所示的对话框。设置连接的目标SQLServer2008数据库服务器后,默认连接的数据库。默认没有选择任何数据库,其他选项使用默认值即可。

7单击“下一步”设置连接到SQLServer2008的数据库参数,建议使用默认值。如果在部署SQLServer2008的过程中,更改了默认的数据库参数,建议在此对话框中设置和部署数据库时使用相同的参数。

8单击“完成”按钮,显示创建ODBC数据源使用的参数。

9单击“测试数据源”按钮,测试能够连接到目标数据库,如果成功显示“SQLServerODBC数据源测试”对话框,在“测试结果”列表中会显示“测试成功”信息。

10单击两次“确定”按钮,完成ODBC数据源的创建,创建成功的数据源。应用程序即可通过ODBC数据源连接到目标数据库。

这好像不是你数据库设置的问题,而是局域网的问题,你试试看,在控制面板>管理工具>本地安全策略,中启动你和对方的guest帐号,网络访问方式改为经典-本地访问 ,在拒绝从网络访问这台计计算机中删除所有的,拒绝做为服务器登陆中清空所有的,然后关闭windows防火墙,
局域网内winXP(professional)的访问是个经常困扰大家的不大不小的问题,上次说我不够详细,你现在可以按以下的方法试一下,如果不成功,也可照此方法来解决局域网中经常出现的莫名奇妙的错误!!!我也是做DBMS的,出现的很多问题,貌似数据库故障,其实不然!!
一、首先启用guest来宾帐户;
二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户;
三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾;
四、设置共享文件夹;
五、控制面板→管理工具→本地安全策略→本地策略→安全选项里,把“网络访问:本地帐户的共享和安全模式”设为“仅来宾-本地用户以来宾的身份验证”(可选,此项设置可去除访问时要求输入密码的对话框,也可视情况设为“经典-本地用户以自己的身份验证”);
六、右击“我的电脑”→“属性”→“计算机名”,该选项卡中有没有出现你的局域网工作组名称,如“work”等。然后单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,如“work”,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。
一般经过以上步骤,基本可以解决。如果不行,再往下看:
七、检查本地连接是否被禁用,右击“本地连接”→“启用”;
八、关闭网络防火墙;
九、检查是否启用了域,是否加入了该域并检查域设置;
十、检查是否关闭了server服务;
十一、检查本地连接IP、子网掩码、网关及DNS设置是否有误;
十二、“本地连接”→属性→常规,检查是否安装了“Microsoft网络文件和打印机共享”、“Microsoft网络客户端”以及TCP/IP协议;
十三、某些局域网游戏和软件须安装NetBEUI协议。而且网上有文章说,在小型局域网中,微软在WinXP中只支持的TCP/IP协议和NWLink IPX/SPX/NetBIOS兼容协议表现不尽如人意,在小型局域网(拥有200台左右电脑的网络)中NetBEUI是占用内存最少、速度最快的一种协议。
安装方法:
①放入Windows XP安装光盘,到“valueaddMsft et etbeui”目录下将Netnbfinf复制C:\Windows\INF中;
②将Nbfsys复制到C:\Windows\System32\Drivers中;
③开始→控制面板→网上邻居”→“网络连接”→“本地连接”(就是你目前使用中的局域网连接)上按右键→“属性”→“常规”→“安装”→“通讯协议”→→“添加”,此时就可以看到“NetBEUI Protocol”这一项(此项原来是没有的),选取NetBEUI之后,按确定就OK了。
十四、作为网络浏览服务器的电脑由于病毒、配置低运行慢以及死机等原因导致网络上的计算机列表得不到更新,使得某些机器有时候在网上邻居中找不到。
解决办法:最简单的办法是重启各种网络设备和电脑,或者关闭个别有上述问题的电脑上的网络浏览服务器功能,方法如下:
win2000/XP下禁用Computer Browser服务
十五、给系统打上补丁。WinXP访问网上邻居的速度较慢,这是WinXP的一个Bug,当我们打开网上邻居时, *** 作系统首先会从计划任务中进行查找,因此就大大影响了访问的速度,除非您已经安装了SP1补丁才不会存在这个问题。
可以手工解决这一问题。从注册表中找到“\HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace”,这里有一个名为“{D6277990-4C6A-11CF-8D87-00AA0060F5BF}”的子键,该子键指向“计划任务(Scheduled Tasks)”,将它直接删除即可。
十六、先卸载网卡驱动,重启再重装;
十七、硬件问题,检查网卡、网线、集线器、路由器等,在检查之前,最好先重启一下网络设备(集线器、交换机、路由器)看能否解决;
十八、病毒(木马)原因。升级病毒库安全模式下全盘杀毒。

看你的错误信息应该是ODBC配置的问题
按照以下步骤检查一般都可以解决
SQL Server在本地,一般情况下ODBC里面选择服务器时候输入''都可以连接上
SQL Server服务端安装的时候是否装了TCP/IP协议或命名管道的支持?
服务端验证方式是windows验证还是混合模式?
SQL Server客户端网络配置是否配置?
0项目描述:我做的课题是基于MATLAB GUI与SQL2000 的数据仓库与决策支持系统,原始数据在ACCESS中,现在要求转移到SQL数据库中,最终在数据仓库中实现数据挖掘。
2具体问题:在WINDOWS XP环境下,无法实现SQL与ODBC的配置与连接,老是出错。我的电脑没有上网。
ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA, WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准 API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给 ODBC。
一个基于ODBC的应用程序对数据库的 *** 作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库 *** 作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。它可以连接各类数据库,甚至包括EXCEL和文本。它提供统一的使用方法给程序,程序如果使用ODBC *** 作实际数据库,不管后台数据库是DB2还是SQL Server,或者升级了,程序几乎都可以以不变应万变。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13485009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存