10.16. Listing Installed ODBC Drivers

Problem

You need a list of the ODBC drivers installed on the computer running your code.

Solution

Consult the registry.

The sample code uses the Microsoft.Win32.Registry class to display a list of all installed ODBC drivers.

The C# code is shown in Example 10-17.

Example 10-17. File: OdbcDriversForm.cs

// Namespaces, variables, and constants
using System;
using System.Text;
using Microsoft.Win32;

//  . . . 

StringBuilder result = new StringBuilder( );

// Get the HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers key.
RegistryKey keyLocalMachine =
    Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers", false);
string[] valueNames = keyLocalMachine.GetValueNames( );
for(int i = 0; i < valueNames.Length; i++)
    result.Append(valueNames[i] + Environment.NewLine);

resultTextBox.Text = result.ToString( );

Discussion

The .NET Framework classes that manipulate the registry are found in the Microsoft.Win32 namespace. The registry key HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers contains a value name for each installed ODBC driver.

Get ADO.NET Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.