Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
-
mdsf
- Сообщения: 36
- Зарегистрирован: Сб 26 янв 2013 06:34
Сообщение
mdsf » Ср 13 мар 2019 13:30
Подключаю UniDAC 7.4.12 в Lazarus 2.0 на Ubuntu 16 к MySQL 5.7.25:
Код: Выделить всё
UniConnection.ProviderName := 'MySQL';
UniConnection.Server := '192.168.1.10';
UniConnection.SpecificOptions.Values['Protocol'] := 'mpSSL';
UniConnection.SpecificOptions.Values['SSLCACert'] := '/home/c/ca.pem';
UniConnection.SpecificOptions.Values['SSLCert'] := '/home/c/client-cert.pem';
UniConnection.SpecificOptions.Values['SSLKey'] := '/home/c/client-key.pem';
UniConnection.SpecificOptions.Values['UseUnicode'] := 'true';
UniConnection.Port := 3306;
UniConnection.Username := 'user';
UniConnection.Password := 'pass';
UniConnection.Database := 'db';
UniConnection.Connect;
При попытке подключения выдаёт исключение:
- :Exception
- E.png (8.59 КБ) 8625 просмотров
Эти сертификаты, как и сам сервер, 100% рабочие - подключаюсь к нему из Windows и Android, и всё ок.
Библиотеки SSL обновлены.
???
-
ViktorV
- Devart Team
- Сообщения: 212
- Зарегистрирован: Чт 31 июл 2014 09:52
Сообщение
ViktorV » Ср 13 мар 2019 14:53
UniDAC использует следующие имена библиотек OpenSSL: libeay32.dll и ssleay32.dll. Вы можете деплоить данные библиотеки со своим приложением, чтобы не зависеть от наличия данных библиотек на компьютере. Но использование библиотек OpenSSL для создания соединений SSL с MySQL сервером может привести к возникновению различных проблем. Например, версия OpenSSL может не поддерживаться сервером MySQL, битность поставляемых OpenSSL библиотек может отличаться от битности вашего приложения и т.д.
Для решения проблем вы можете использовать компоненты SecureBridge. SecureBridge позволяет устанавливать безопасные соединения в одном приложении без каких-либо внешних файлов. Вы можете узнать, как использовать SecureBridge с UniDAC в разделе «Secure connections» справки MyDAC.
Вы можете увидеть пример работы UniDAC и SecureBridge в демонстрационных проектах: %UniDACDemos%\TechnologySpecific\SecureBridge, где %UniDACDemos% - это путь установки демонстрационных проектов UniDAC на вашем компьютере.
-
mdsf
- Сообщения: 36
- Зарегистрирован: Сб 26 янв 2013 06:34
Сообщение
mdsf » Чт 14 мар 2019 07:15
DLL? А это точно совместимо с Lazarus 2.0 на Ubuntu (не Windows)?
-
ViktorV
- Devart Team
- Сообщения: 212
- Зарегистрирован: Чт 31 июл 2014 09:52
Сообщение
ViktorV » Чт 14 мар 2019 07:51
Да, вы правы, указанные нами библиотеки относятся к Windows платформе. Для Ubuntu следует использовать libssl.so. Но, как мы писали ранее, лучше использовать связку UniDAC - SecureBridge, так как использование библиотек OpenSSL может привести к возникновению различных проблем.