简要叙述下 ODBC ,OLEDB和ADO之间的区别和联系!

简要叙述下 ODBC ,OLEDB和ADO之间的区别和联系!,第1张

ODBC 是 开放式数据库互连 是一些标准规范符合规范的数据库就可以通过SQL(结构化查询语言)编写的命令进行 *** 作理解ODBC是种数据库互连标准就行了,WINDOWS中ODBC配置,只是对数据库进行系统中登记 *** 作一样,不起任何数据服务作用
OLE DB 是 数据库嵌入对象,是一套组件对象模型 (COM) 接口,可提供对存储在不同信息源中的数据进行统一访问的能力。即:通过这个对象可以对数据库 *** 作但他只是数据库的一个接口因为要统一许多接口,它接口也变的复杂繁多,不便于使用
ADO 是ActiveX® Data Objects,是程序和数据接口的桥梁,我们使用他就可以方便的 *** 作数据库数据
这么说吧,我们 *** 作ADO,ADO则访问OLEDB(当然可以访问其他的,只要符合ADO接口),OLEDB查询ODBC(也可以不用找他)得到数据接口 *** 作数据

1、先运行你的安装程序,当提示挂起时,点击“确定”,切记,不要退出安装程序,用ALT+Tal键切换,点击“开始》运行”,输入“regedit”,打开注册表
2、找到目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 3、删除其中的“PendingFileRenameOperations”(在这里说明一下,PendingFileRenameOperations文件位于Session Manager右侧,即当你点击Session Manager时,在右边就可以看到了)
4、关闭注册表 5、重新开始安装SQL Server 2000,一切OK了。简单吧
6、问题解决了,哈哈(如果上述步骤没能解决你问题,请继续往后看)
二、我是在WIN2003下安装的SQL2000,不用管"SQL2000SP2不能安装在WIN2003下"的提示,点继续,等安装完后再马上打上SP3,没有问题!
只是在安装过程中还出现了这个错误:
安装程序配置服务器失败。参考服务器错误日志和C:\WINNT\sqlstplog 了解更多信息
WINNT目录下的sqlstplog中最后是这样的错误信息: 正在启动 Chinese_PRC_CI_AS
-m -Q -T4022 -T3659
正在与服务 driver=;server=GH;UID=saWD=;database=master [Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv())
driver=;server=GH;UID=saWD=;database=master [Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。 [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv())
driver=;server=GH;UID=saWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()) SQL Server 配置
####################################################
09:23:53 Process Exit Code: (-1) 09:24:14 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstplog 了解更多信息。
09:24:14 Action CleanUpInstall:
09:24:14 C:\WINNT\TEMP\SqlSetup\Bin\scmexe -Silent 1 -Action 4 -Service SQLSERVERAGENT
09:24:14 Process Exit Code: (1060) 指定的服务并未以已安装的服务存在。
09:24:14 C:\WINNT\TEMP\SqlSetup\Bin\scmexe -Silent 1 -Action 4 -Service MSSQLSERVER 09:24:14 Process Exit Code: (0) 09:24:14 StatsGenerate returned: 2
09:24:14 StatsGenerate (0x0,0x1,0xf0000000,0x400,2052,303,0x0,0x1,0,0,0
09:24:14 StatsGenerate -1,Administrator)
09:24:14 Installation Failed
解决方法: 首先把安装目录和C:\Program Files下的Microsoft SQL Server文件夹删了,删除在current_user和local_machine\software\microsoft\ 下有关 Microsoft sql server 全部信息,然后
1 打开注册表 在"开始"--"运行"键入 "regedit"
2 按下列顺序点击打开
+ HKEY_LOCAL_MACHINE
+ SOFTWART + Microsoft + Windows + CurrentVersion + Setup
+ ExceptionComponents 3 将 ExceptionComponents 下面的文件夹全部删除! 如
4 重新启动: 5 重新安装 SQL Server 2000
另外在一个BLOG上看到的一个说法: 问题的原因: 此问题属于sql server的bug, GetComputerName 用于获取本地计算机名。客户端网络库组件 (DBMSLPCndll) 将该名称转换为全部大写。服务器网络库组件 (SSMSLPCndll) 保留返回时的名称。
当 Windows 计算机名称包含大写字母和小写字母或者都是小写字母时安装会失败,提示一般性网络错误!
解决办法就是将计算机名称改为全部大写!
我便照着将我电脑的名称改为大写,然后重启,刚才的网络错误问题没了。但又提示我 sa 登录失败。 奇怪了,我重新安装指定的是空密码,怎么安装程序自己也会sa登录失败呢?后来才想起来,卸载Sql Server 是为了保住我的数据,就偷懒没有将原先Sql Server 安装目录下的Data文件夹内的文件删除,mastermdf 和masterldf都在。 以前的的Sql Server是设了密码的。于是感快将这两个文件删除。再重新安装一次,OK! 安装成功
总结:
1、 以后计算机名称一定用大写,免得惹来不必要的麻烦
2、重装Sql Server时一定要记得将mastermdf 和masterldf删除。
注: 我的计算机名称也是小写,但我并没有把计算机名称换成大写,只是在SQL安装过程中把用户名改成了大写,再按照上面的做法删除文件夹和清除注册表后安装成功的,所以我觉得以上的说法值得探讨!
以下还收集一些SQL2000安装程序配置服务器失败的一些解决方法: 1 sql server 2000安装出错,无法找到动态链接库sqlunirldll 安装文件肯定没有错,因为以前安装过,绝对可以用,机子之前有装了sql server 2000,而且可以正常使用,只是今天突然无法连接到本地数据库,打算重装,我删了program files里的ms sql的目录,然后重装sql,结果在最后一步的时候提示,无法完成配置。后来又删除了一些注册表中的sql server信息(有备份注表),再安装时,就出现这样的提示了,更糟的是,备份的注册表却无法还原
============================
现在问题解决了,总结了一些经验
当安装时出现MDAC组件安装失败时,试着修复或重装microsoft office
当你想重装sql server,而安装时又出现“您的机子上已经安装有一个实例”的提示时,可以删除program files\Microsoft SQL Server文件夹,再安装
当出现某某动态链接文件找不到时,可以试着在sql server的安装文件中找到这个文件,复制到系统目录下的system和system32文件夹中(一般在出现这个错误消息时,都会提示哪几个文件夹下缺少这个文件)
当出现安装程序配置服务器失败时,可以试着用一下方法解决 此错误消息可以在系统目录下找到,例如我的系统是win2000,则该文件在C:\WINNT\sqlstplog
失败一:
正在与服务
driver=;server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H driver=;server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H
driver=;server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H
SQL Server 配置 ###############################################################################
13:40:06 Process Exit Code: (-1) 13:40:09 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstplog 了解更多信息。 13:40:09 Action CleanUpInstall:
当出现这个错误时,试一下重装系统文件 我的机子是win2000,在dos下重新运行win2000的安装,然后选择修复,而不是全新安装 修复系统文件之后,再装sql server,则不会出现此错误消息
失败二: 正在与服务
driver=;server=ZHL;UID=sa;PWD=;database=master [Microsoft][ODBC 驱动程序 管理器] 未发现数据源
driver=;server=ZHL;UID=sa;PWD=;database=master [Microsoft][ODBC 驱动程序 管理器] 未发现数据源
driver=;server=ZHL;UID=sa;PWD=;database=master [Microsoft][ODBC 驱动程序 管理器] 未发现数据源
SQL Server 配置 ###############################################################################
13:50:07 Process Exit Code: (-1) 13:50:10 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstplog 了解更多信息。 13:50:10 Action CleanUpInstall:
当出现这个错误时,是因为在注册表删除了HKEY_LOCAL_MACHINE\SOFTWARE\ODBC中有关sql sever的内容
这时可以选择修复注册表,或安装ODBC修复工具
失败三:
在与服务 driver=;server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Named Pipes]连接
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (ReadFile())
driver=;server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Named Pipes]连接
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()) driver=;server=ZHL;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Named Pipes]连接
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()) SQL Server 配置
###############################################################################
17:17:41 Process Exit Code: (-1) 17:17:45 安装程序配置服务器失败。参考服务器错误日志和 当出现这个错误时,必须安装ODBC修复工具

服务机上能正常登陆到SQL 控制台吗,用sa账户
如果你的服务器登陆成功,客户端数据库登陆不进去,需要配置 SQL Server Configuration Manager
进入后,点击 MSSQLSERVER的协议
在右边 点击 TCP/IP 启用 然后点击 右键
选择IP地址
将 IP地址修改成你本机的IP即可
希望对你有帮助

ODBC的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据ODBC的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的DBMS采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。
这同时也就是数据库驱动的思想,它很类似于Windows中打印驱动的思想。在Windows中,用户安装不同的打印驱动程序,使用同样一条打印语句或 *** 作,就可很容易地实现在不同打印机上打印输出,而不需要了解内部的具体原理。ODBC出现以后,用户安装不同的DBMS驱动就可用同样的SQL语句实现在不同DBMS上进行同样的 *** 作,而且无需预编译。ODBC带来了数据库连接方式的变革,如图1所示。在传统方式中,开发人员要熟悉多个DBMS及其API,一旦DBMS端出现变动,则往往导致用户端系统重新编建或者源代码的修改,这给开发和维护工作带来了很大困难。在ODBC方式中,不管底层网络环境如何,也无论采用何种DBMS,用户在程序中都使用同一套标准代码,无需逐个了解各DBMS及其API的特点,源程序不因底层的变化而重新编建或修改,从而减轻了开发维护的工作量,缩短了开发周期。
@@12W03500GIF;图1 数据库连接方式的转变@@
概括起来,ODBC具有以下灵活的特点:
1 使用户程序有很高的互 *** 作性,相同的目标代码适用于不同的DBMS;
2 由于ODBC的开放性,它为程序集成提供了便利,为客户机/服务器结构提供了技术支持;
3 由于应用与底层网络环境和DBMS分开,简化了开发维护上的困难。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存