由于系统错误 126 (SQL Server),指定驱动程序无法加载
首先想到的是数据库服务的问题,但是最奇怪的是数据库服务已经正常启动了(右击“我的电脑”-“管理”-"服务和应用程序"-“服务”),如图所示:
突然想到安装完后在dos中连接数据库,想修改sa密码时,发现有下面提示:由于系统错误 126 (sql server),指定驱动程序无法加载,如图所示:
而且在客户自己之前安装过很多版本的软件,什么用友通普及版呀,用友u852呀,都装过,可能是装来装去电脑识别有些混乱,但是清理的时候我已经清理得非常干净了,只有一个,就是在添加和删除程序里有2个msde2000数据库的程序在里面,如下图所示:
这个提示我在注册表项目【hkey_local_machine\software\microsoft\windows\currentversion\uninstall】里也清理过,清理的时候也发现了一个问题,就是删除不掉这个数据库是客户自己在光驱里点了一下安装程序,上面显示的安装路径居然为光驱的路径,所以非常奇怪。
根据我的经验,上面的情况一般不会影响软件的安装,还是从“由于系统错误 126 (sql server),指定驱动程序无法加载”这个错误提示开始着手吧。百度上找了很多地方,最终的解决办法和可能的原因可以归纳为下面2个:
1、缺少windows组件
a、进入注册表 查看相关注册表值是否正确:
路径【hkey_local_machine\software\odbc\odbcinst.ini\sql server】
setup值为c:\windows\system32\sqlsrv32.dll
driver值为c:\windows\system32\sqlsrv32.dll
b、到c:\windows\system32文件夹中查看sqlsrv32.dll文件是否存在;
c、如果没有sqlsrv32.dll,那么请下载xp系统的sqlsrv32.dll复制到你电脑中,免费下载地址:http://www.yyrjxz.com/xiazai/sqlsrv32.dll.html。
注意事项:查看路径时有的电脑对应的值就是错的,比如写成了:c:\winnt\system32\sqlsrv32.dll 不是c:\windows\system32\sqlsrv32.dll。
2、配置odbc驱动和数据源
a、在开始运行中依次输入如下命令:
odbcconf.exe /s /lv odbcconf.log /f %systemroot%\system32\mdaccore.rsp
odbcconf.exe /s /lv odbcconf.log /f %systemroot%\system32\sqlclnt.rsp
odbcconf.exe /s /lv odbcconf.log /f %systemroot%\system32\odbcconf.rsp
odbcconf.exe /s /lv odbcconf.log /f %systemroot%\system32\redist.rsp
注意:一行一行输入,每次输入完回车都不会有什么提示,后台自动运行的。
b、如果觉得麻烦的话,将上述四行命令另存为.bat文件,直接双击运行即可。
参照以上方法处理后,成功解决了由于系统错误 126 (sql server),指定驱动程序无法加载,而且在dos中直接连接msde2000数据库修改了sa口令。