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及网络环境组成。
如果你的服务器登陆成功,客户端数据库登陆不进去,需要配置 SQL Server Configuration Manager
进入后,点击 MSSQLSERVER的协议
在右边 点击 TCP/IP 启用 然后点击 右键
选择IP地址
将 IP地址修改成你本机的IP即可
希望对你有帮助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修复工具
在控制面板中的管理工具中打开ODBC管理器,输入在“用户DSN”中点“添加”,驱动程序选择SQL NATIVE CLIENT,然后点“完成”,输入名称(任意),服务器就输你那个601014098,接着下一步输入用户名密码,然后跟着向导下一步到结束就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)