在企业管理器中操作出现"未找到提供的程序,该程序未正确安装"的解决办法[Lin Shaohua原创]

昨天特别郁闷,打开SQL Server 企业管理器,在表上右击返回所有行的操作出现“未找到提供的程序,该程序未正确安装”   的对话框,点确定后没有返回任何数据。

于是去网上搜索,发现很多人碰到了这个问题,但是却没有比较有效的解决办法。有建议重装sql server的,有重装系统的。在经历了几个小时的baidu,google后,没有找到比较有效的办法!

于是卸载sql server,为了卸载干净,按照网上的方法,删除了所有相关目录和注册表键。重装sql server,心里祈祷着能工作正常。装完后,害怕不行,索性把系统也重起一下。

重新进入Sql Server企业管理,重新点返回所有行,,简直崩溃,还是不行!!!!!!!

运行sfc /scannow,把系统盘放入,运行完后,问题依旧!

重新下载mdac2.8,安装,装完后,问题依旧!

重新下载mdac2.7,安装,装完后,问题依旧!

因为前几天还使用正常,于是把这2天安装的补丁,软件卸载掉,问题依旧!

崩溃了!崩溃了!崩溃了!崩溃了!崩溃了!崩溃了!

难道非得重装系统??????

今天上班想,如果再找不到方法,只能重装系统了,可怜我系统上的成百上千的应用软件,开发环境。。。。。

突然,想到网上有些人建议重新注册C:/Program Files/Common Files/System/Ole DB/msdasql.dll

于是找这个文件看了下,发现很有可能确实是这个文件的问题。

于是:

regsvr32 "C:/Program Files/Common Files/System/Ole DB/msdasql.dll"

结果出现:

LoadLibrary("C:/Program Files/Common Files/System/Ole DB/msdasql.dll") Failed-无法加载模块 之类的提示

。晕!!!

去这个目录下找,发现这个dll是在的。

于是又经过无数次尝试,这里整,那里搞,还是不行!以为这个文件有问题,先把它删了,一删,马上又自动生成了,原先还以为是不是病毒哦,后来看了下系统日志,才想起这是系统保护文件,受WFP保护的。

去其它机器上拷贝了同名文件过来覆盖,还是不能解决问题。

在痛苦中痛苦。。。。。。。。。。。。。。。。。。

突然想到,会不会是因为这个dll引用的dll有问题,所以造成那个注册提示?因为LoadLibrary调用dll时,如果这个dll引用了其它dll,那么系统将加载这些dll,其中任何一个出错,都会有那样的错误的。

于是查看msdsql.dll引用了哪些dll。然后一个dll地去系统里搜索,看看是存在该文件。终于在经过一番痛苦的等待后,发现确实有个dll没找到。就是:msdatl3.dll。看来看到希望了,哈哈!

去网上搜索该文件,在Microsoft的网站上找到:

MDAC 2.8 (2.80.1022.3) 的文件列表

<script type="text/javascript">loadTOCNode(2, 'summary');</script>

文件名版本 (x86)说明
12520437.cpx SQL Server 代码页转换器
12520850.cpx SQL Server 代码页转换器
adcjavas.inc ADC/RDS JavaScript 包含文件
adcvbs.inc ADC/RDS VBScript 包含文件
adojavas.inc ADO JavaScript 包含文件
adovbs.inc ADO VBScript 包含文件
cliconfg.dll2000.85.1022.0客户端配置实用程序
cliconfg.exe2000.85.1022.0客户端配置实用程序
cliconfg.rll2000.85.1022.0客户端配置实用程序
dbmsgnet.dll2000.85.1022.0面向 Winsock 的 Net Library
dbmsrpcn.dll2000.85.1022.0RPC Net Library
dbnetlib.dll2000.85.1022.0面向 Winsock 的 Net DLL
dbnmpntw.dll2000.85.1022.0SQL 客户端的命名管道 Net DLL
ds16gt.dll3.510.3711.0ODBC 16 位驱动程序安装通用转换
ds32gt.dll3.525.1022.0ODBC 驱动程序安装通用转换
expsrv.dll6.0.0.8540表达式服务
handler.reg 安装默认 RDS 处理程序的注册表项文件
handsafe.reg 使 RDS 始终随安全处理程序运行的注册表项文件
instcat.sql SQL Server SP 目录更新程序
msadce.dll2.80.1022.0OLE DB 游标引擎
msadcer.dll2.80.1022.0OLE DB 游标引擎资源
msadcf.dll2.80.1022.0远程数据服务数据工厂
msadcfr.dll2.80.1022.0远程数据服务数据工厂资源
msadco.dll2.80.1022.0远程数据服务数据控制
msadcor.dll2.80.1022.0远程数据服务数据控制资源
msadcs.dll2.80.1022.0远程数据服务 ISAPI 库
msadds.dll2.80.1022.0OLE DB Data Shape 提供程序
msaddsr.dll2.80.1022.0OLE DB Data Shape 提供程序资源
msader15.dll2.80.1022.0ADO 资源
msado15.dll2.80.1022.0ADO
msado20.tlb2.80.1022.0ADO 2.0 类型库
msado21.tlb2.80.1022.0ADO 2.1 类型库
msado25.tlb2.80.1022.0ADO 2.5 类型库
msado26.tlb2.80.1022.0ADO 2.6 类型库
msado27.tlb2.80.1022.0ADO 2.7 类型库
msadomd.dll2.80.1022.0ADO MD
msador15.dll2.80.1022.0ADO
msadox.dll2.80.1022.0ADO 扩展
msadrh15.dll2.80.1022.0ADO 行集合帮助程序
mscpxl32.dll3.525.1022.0ODBC 代码页转换器
msdadc.dll2.80.1022.0OLE DB 数据转换存根
msdaenum.dll2.80.1022.0OLE DB 根枚举程序存根
msdaer.dll2.80.1022.0OLE DB 错误集存根
msdamg9x.dll2.80.1022.3Win98 迁移 DLL
msdaora.dll2.80.1022.0Oracle 的 OLE DB 提供程序
msdaorar.dll2.80.1022.0Oracle 的 OLE DB 提供程序资源
msdaosp.dll2.80.1022.0OLE DB 简单提供程序
msdaprsr.dll2.80.1022.0OLE DB 持久服务资源
msdaprst.dll2.80.1022.0OLE DB 持久服务
msdaps.dll2.80.1022.0OLE DB 接口代理/存根
msdarem.dll2.80.1022.0OLE DB 远程提供程序
msdaremr.dll2.80.1022.0OLE DB 远程提供程序资源
msdart.dll2.80.1022.0OLE DB 运行时例程
msdasc.dll2.80.1022.0OLE DB 服务组件存根
msdasql.dll2.80.1022.0ODBC 驱动程序的 OLE DB 提供程序
msdasqlr.dll2.80.1022.0ODBC 驱动程序的 OLE DB 提供程序资源
msdatl3.dll2.80.1022.0OLE DB 实现支持例程
msdatsrc.tlb9.1.1022.0数据访问 - 数据源接口
msdatt.dll2.80.1022.0OLE DB 临时表服务
msdaurl.dll9.2.1022.0OLE DB RootBinder 存根
msdfmap.dll2.80.1022.0数据工厂处理程序
msjro.dll2.80.1022.0Jet 和重复对象
msjtes40.dll4.0.2927.8Jet 表达式服务
msorc32r.dll2.575.1022.0Oracle 的 ODBC 驱动程序资源库
msorcl32.dll2.575.1022.0Oracle 的 ODBC 驱动程序
msvcirt.dll6.0.8168.0(R) C++ 运行时库
msvcrt.dll6.0.8397.0(R) C 运行时库
mswdat10.dll4.0.3829.2Jet 排序表
mswstr10.dll4.0.3829.2Jet 排序库
msxactps.dll2.80.1022.0OLE DB 事务代理/存根
msxml3.dll8.40.9419.0MSXML3 SP4
msxml3a.dll8.20.8730.1MSXML3 资源文件
msxml3r.dll8.20.8730.1MSXML3 资源文件
mtxdm.dll1999.6.902.0MTS 连接池 - ODBC 驱动程序管理器
mtxoci.dll1999.6.854.0MTS - Oracle OCI
odbc16gt.dll3.510.3711.0ODBC 16 位通用转换
odbc32.dll3.525.1022.0ODBC 驱动程序管理器
odbc32gt.dll3.525.1022.0ODBC 驱动程序通用转换
odbcad32.exe3.525.1022.0ODBC 管理器
odbcbcp.dll2000.85.1022.0SQL Server ODBC 驱动程序 BCP 库
odbcconf.dll3.525.1022.0ODBC 驱动程序配置程序
odbcconf.exe3.525.1022.0ODBC 驱动程序配置程序
odbccp32.cpl3.525.1022.0ODBC 控制面板
odbccp32.dll3.525.1022.0ODBC 安装程序
odbccr32.dll3.525.1022.0ODBC 游标库
odbccu32.dll3.525.1022.0ODBC 游标库
odbcint.dll3.525.1022.0ODBC 资源
odbctrac.dll3.525.1022.0ODBC 驱动程序管理器跟踪
oledb32.dll2.80.1022.0OLE DB 核心服务
oledb32a.dll2.80.1022.0OLE DB 核心服务 ANSI 资源
oledb32r.dll2.80.1022.0OLE DB 核心服务资源
oledbjvs.inc OLE DB JavaScript 包含文件
oledbvbs.inc OLE DB VBS 包含文件
psapi.dll4.0.1371.1进程状态帮助程序
sqloledb.dll2000.85.1022.0SQL Server 的 OLE DB 提供程序
sqloledb.rll2000.85.1022.0SQL Server 的 OLE DB 提供程序资源库
sqlsrv32.dll2000.85.1022.0SQL Server ODBC 驱动程序
sqlsrv32.rll2000.85.1022.0SQL Server ODBC 驱动程序资源库
sqlunirl.dll2000.80.728.0SQL Server Unicode 资源层库
sqlxmlx.dll2000.85.1022.0SQL Server 的 XML 扩展
sqlxmlx.rll2000.85.1022.0SQL Server 的 XML 扩展资源库
vbajet32.dll6.0.1.8268表达式服务加载器

这个果然是Mdac里的关键文件,于是在Mdac2.8的解压后的临时目录中打开所有cab文件寻找该文件,奇怪的是竟然没找到。我的安装包是从Microsoft下的,应该没错啊!!!不解!!!

于是只好去

http://www.dlldump.com/download-dll-files_new.php/dllfiles/M/msdatl3.dll/2.81.1117.0/download.html

下载了该文件。把它拷贝到C:/winnt/system32目录,再次注册:

regsvr32 "C:/Program Files/Common Files/System/Ole DB/msdasql.dll"

耶!!!搞定!!!!!!

Thanks God!!!!!!

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值