首先想到的是數(shù)據(jù)庫服務(wù)的問題,但是最奇怪的是數(shù)據(jù)庫服務(wù)已經(jīng)正常啟動了(右擊“我的電腦”-“管理”-"服務(wù)和應(yīng)用程序"-“服務(wù)”),如圖所示:
突然想到安裝完后在DOS中連接數(shù)據(jù)庫,想修改SA密碼時,發(fā)現(xiàn)有下面提示:由于系統(tǒng)錯誤 126 (SQL Server),指定驅(qū)動程序無法加載,如圖所示:
而且在客戶自己之前安裝過很多版本的軟件,什么用友通普及版呀,用友U852呀,都裝過,可能是裝來裝去電腦識別有些混亂,但是清理的時候我已經(jīng)清理得非常干凈了,只有一個,就是在添加和刪除程序里有2個MSDE2000數(shù)據(jù)庫的程序在里面,如下圖所示:
這個提示我在注冊表項(xiàng)目【HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall】里也清理過,清理的時候也發(fā)現(xiàn)了一個問題,就是刪除不掉這個數(shù)據(jù)庫是客戶自己在光驅(qū)里點(diǎn)了一下安裝程序,上面顯示的安裝路徑居然為光驅(qū)的路徑,所以非常奇怪。
根據(jù)我的經(jīng)驗(yàn),上面的情況一般不會影響軟件的安裝,還是從“由于系統(tǒng)錯誤 126 (SQL Server),指定驅(qū)動程序無法加載”這個錯誤提示開始著手吧。百度上找了很多地方,最終的解決辦法和可能的原因可以歸納為下面2個:
1、缺少WINDOWS組件
a、進(jìn)入注冊表 查看相關(guān)注冊表值是否正確:
路徑【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系統(tǒng)的SQLSRV32.DLL復(fù)制到你電腦中,免費(fèi)下載地址:http://www.yyrjxz.com/xiazai/sqlsrv32.dll.html。
注意事項(xiàng):查看路徑時有的電腦對應(yīng)的值就是錯的,比如寫成了:C:\WINNT\System32\sqlsrv32.dll 不是C:\WINDOWS\system32\SQLSRV32.dll。
2、配置ODBC驅(qū)動和數(shù)據(jù)源
a、在開始運(yùn)行中依次輸入如下命令:
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
注意:一行一行輸入,每次輸入完回車都不會有什么提示,后臺自動運(yùn)行的。
b、如果覺得麻煩的話,將上述四行命令另存為.bat文件,直接雙擊運(yùn)行即可。
參照以上方法處理后,成功解決了由于系統(tǒng)錯誤 126 (SQL Server),指定驅(qū)動程序無法加載,而且在DOS中直接連接MSDE2000數(shù)據(jù)庫修改了SA口令。