web-dev-qa-db-ja.com

SQL Serverクライアントがインストールされているかどうかを確認する

SQL Serverクライアントドライバーがインストールされているかどうかを確認するにはどうすればよいですか?また、バージョンを確認することもできますか?

13
HK1

->ファイル名を指定して実行->コマンド->タイプregedit.exeに移動すると、ODBCフォルダの下にレジストリが表示されます。

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

enter image description here

私はまた、この問題について 完全な回答 を見つけました(MySQLに基づいていますが、基本的には同じです)。

後で編集:コメントに従って、SQL Serverの2005バージョンをインストールしました。

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

とにかく、2つのバージョンの違いを確認するために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 
22
Voislav Sauca

これはodbcad32.exeを実行すると見つかります。

Microsoftサポートサイト から:

SQL Server Native Clientのバージョンを確認するには、次のいずれかの方法を使用します。

方法1:Native Clientのバージョンを確認するシステムでODBC Administrator(odbcad32.exe)を起動し、[ドライバー]タブの[バージョン]列を確認します。

64ビットシステムでは、odbcad64.exeも確認してください。

7
Aaroninus

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