前几天在写程序的时候,发生了一桩惨剧。SQL Server的企业管理器,忽然罢工了。出错信息提示说没有默认的ODBC driver。但是我在.net里使用编程方式却可以访问SQL Server的数据。当时也没在意,以为SQL Server出了问题,就直接卸载了。
然而之后就没法安装SQL Server了,总在最后一步配置的时候失败。打开安装的log一看,发现是因为没有ODBC Driver,导致不能正确配置服务器。这时才警觉起来。打开ODBC管理面板一看,发现里面的驱动程序都不见了。
立刻重装了下MDAC,但问题依旧。事实上,由于操作系统是Windows 2003,所以本身附带的MDAC已经是最新版本,所以重装MDAC只是简单地显示安装完成,事实上却什么也没有做。
当时找遍KB也没有找到安装ODBC Driver相关内容,差点就把操作系统重装了。
事实上,我们只需要用odbcconf.exe来重新注册一下ODBC Driver就可以了。
在Windows/System32目录下有几个脚本文件,可以来完成驱动程序的注册:
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
产生这个问题的原因是某些使用ODBC数据源的程序,在卸载的时候,会将ODBC Driver的信息都删除掉。比如我就是因为用了某个 神州数码 做的 政府部门的软件,才会出这个问题的。
写出来希望对大家会有所帮助。