Используя 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?
Вы можете найти его в реестре в
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
Вот несколько возможных идей:
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