19

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

4

3 回答 3

25

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

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

在此处输入图像描述

我也找到了关于这个问题的完整答案,(基于 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 
于 2012-05-08T13:51:16.853 回答
9

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

Microsoft 支持站点

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

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

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

于 2015-11-11T14:26:30.363 回答
1

是可以通过的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
于 2020-03-08T06:30:39.593 回答