检查是否安装了SQL Server客户端

时间:2012-05-08 13:31:41

标签: sql-server registry

如何检查是否安装了SQL Server客户端驱动程序?是否也可以确定版本?

3 个答案:

答案 0 :(得分:19)

转到 - >运行 - > cmd->键入 regedit.exe ,然后在ODBC文件夹下看到注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
    ODBC Drivers\SQL Server

enter image description here

我也发现a complete answer关于这个问题,(基于MySQL,但基本上是一样的)。

稍后编辑:根据您的评论,您已安装了2005版的SQL Server:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Microsoft SQL Native Client\CurrentVersion

无论如何,我还会向您展示如何查看2008版本以查看两个版本之间的差异。

对于SQL Server 2008 / R2:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Microsoft SQL Server\SQLNCLI10\CurrentVersion

对于SQL Server 2012:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Microsoft SQL Server\SQLNCLI11\CurrentVersion 

答案 1 :(得分:5)

可以通过运行odbcad32.exe找到。

来自Microsoft Support site

  

要确定SQL Server Native Client的版本,请使用以下方法之一:

     

方法1:在要查找Native Client版本的系统上,启动ODBC Administrator(odbcad32.exe),然后选中Drivers选项卡下的Version列。

在64位系统上,还要检查odbcad64.exe

答案 2 :(得分:0)

可以通过req query

获得
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft /f Native*Client /k

结果

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 11.0
End of search: 1 match(es) found.

然后您可以通过解析(例如在python中)获得确切的数字

import os
import re
os.system("reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft /f Native*Client /k > C:\\reg.out")
out=open("C:\\reg.out").read()
ver=re.search("Native Client (\d+)").group(1)
print(ver)

您将获得ver=11 还有更快的方法

code = os.system("reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft /f Native*Client*11 /k > null")
code == 0 # means there is client of version 11
code == 1 # means there is no such client