С VBA найдите версию драйвер MySQL ODBC установленный в Windows

Используя Visual Basic for Applications, как я могу узнать, какая версия драйвера MySQL ODBC установлена в Windows на машине пользователя?

У меня есть приложение Microsoft Access, которое использует драйвер MySQL ODBC для устанавливания связи. Строка подключения похожа на это:

ODBC;DATABASE=mydatabase;DRIVER={MySQL ODBC 3.51 Driver};
    OPTION=3;PWD=password;PORT=3306;SERVER=server-db;UID=db-user;

Это было рабочей находкой до установленной версии 5.1 менеджера по ИТ драйвера MySQL ODBC на ПК пользователя, который повредил мою строку подключения.

Если бы я знал версию драйвера, установленного на установке Windows XP пользователя, то я мог вставить это в строку подключения во времени выполнения. Как я могу узнать, какая версия драйвера MySQL ODBC установлена в Windows на машине пользователя с помощью VBA?

7
задан Ben McCormack 12 January 2010 в 16:35
поделиться

2 ответа

Вы можете найти его в реестре в

HKEY_LOCAL_MACHINE\SOFTWARE\
    ODBC\ODBCINST.INI\
    ODBC Drivers\MySQL ODBC 3.51 Driver


 HKEY_LOCAL_MACHINE\SOFTWARE\
    ODBC\ODBCINST.INI\
    ODBC Drivers\MySQL ODBC 5.1 Driver

, используя найденную информацию здесь , вы можете получить его, используя код ниже (я проверил его в доступе 97)

Private Sub Command0_Click()    
    If RegKeyExists("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
                                 ODBC Drivers\MySQL ODBC 3.51 Driver") Then
        MsgBox "3.51"
    ElseIf RegKeyExists("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
                                 ODBC Drivers\MySQL ODBC 5.1 Driver") Then
        MsgBox "5.1"
    Else
        MsgBox "None"
    End If
End Sub


'returns True if the registry key i_RegKey was found
'and False if not
Function RegKeyExists(i_RegKey As String) As Boolean
    Dim myWS As Object

    On Error GoTo ErrorHandler
    'access Windows scripting
    Set myWS = CreateObject("WScript.Shell")
    'try to read the registry key
    myWS.RegRead i_RegKey
    'key was found
    RegKeyExists = True
    Exit Function

ErrorHandler:
  'key was not found
  RegKeyExists = False
End Function
14
ответ дан 6 December 2019 в 09:19
поделиться

Вот несколько возможных идей:

1 Вы можете проверить реестр и искать определенные ключи, например, например: [HKEY_LOCAL_MACHINE \ SPRACLE \ ODBC \ odbcinst.ini \ mysql odbc 3.51 драйвер]

2.Вы можете проверить их папку C: \ Windows \ System32 для myodbc.dll, а затем проверьте информацию о версии. Вот ссылка о том, как проверить версию: http://www.vb-helper.com/howto_file_version_info.html

4
ответ дан 6 December 2019 в 09:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: