sql >> Databáze >  >> RDS >> Sqlserver

Jak při procházení zkontrolovat, zda má klient nainstalovaný poskytovatel SQLNCLI10?

Frustrující je, že Microsoft zřejmě nedává jednoznačnou odpověď na to, jak otestovat přítomnost klientské knihovny. Vyhledávání na webu a čichání registru odhalí alespoň následující klíče registru:

HLKM\SOFTWARE\Microsoft\SQLNCLI11 (key:InstalledVersion)
HLKM\SOFTWARE\Microsoft\SQLNCLI10 (key:InstalledVersion)
HKLM\SOFTWARE\Microsoft\Microsoft SQL Native Client\CurrentVersion (version 9, i presume?)
HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 10.0\CurrentVersion (key:Version)
HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 11.0\CurrentVersion (key:Version)

Tento příspěvek na blogu na MSDN naznačuje, že použití klíčů registru k zodpovězení související otázky (je nainstalován SQL Server Express) je špatné, špatné, špatné a měli byste místo toho napsat 200 řádků kódu WMI. Zdá se, že WMI stejně nezdokumentované a pro mě ještě křehčí.

Protože Microsoft umožňuje redistribuci balíčku SQL Native Client , možná nejlepší volbou je jednoduše zahrnout msi do instalačního programu vaší aplikace a spustit jej, ať už je to potřeba nebo ne. V tomto seznamu podporovaných operačních systémů naleznete různé ovladače, které poskytují což ukazuje, že existuje také verze 10.5(!).

SQLNCLI se instaluje paralelně k ovladačům založeným na MDAC, takže by mělo být bezpečné spouštět msiexec na to a nechte ji, aby se postarala o detaily.



  1. FULL OUTER JOIN pro sloučení tabulek s PostgreSQL

  2. Ladění výkonu:Vytvořte index pro booleovský sloupec

  3. Jak porovnat pouze datum a rok v php codeigniter

  4. INSERT a UPDATE záznam pomocí kurzorů v oracle