Если в настройках подключения (TUniConnection) находятся специфичные опции из разных баз данных, то ваш код пытается применить их все, даже те из них, которые являются мусорными и относятся к другому типу базы. В результате появляется Access Violation, т.к. соответствующие юниты с провайдерами не были добавлены за ненадобностью.
Код: Выделить всё
Error reading UniConnection.SpecificOptions.Strings: MySQL provider is not registered. You should add the MySQLUniProvider unit to the uses clause of any unit in your project or place the TMySQLUniProvider component on the form.
Код: Выделить всё
MySQL provider is not registered. You should add the MySQLUniProvider unit to the uses clause of any unit in your project or place the TMySQLUniProvider component on the form.
Подключение использует SQLite базу данных, но в самом компоненте когда-то был MySQL и часть настроек с тех времен сохранилось:
Код: Выделить всё
SpecificOptions.Strings = (
'MySQL.UseUnicode=True'
'MySQL.ConnectionTimeout=500'
'SQLite.UseUnicode=True'
'SQLite.BusyTimeout=10000')
Приходится вручную из dfm-файла удалять "мусорные" настройки, чтобы заработало.