Каков наилучший способ взаимодействия с сервером MySQL?

StackOverflow https://stackoverflow.com/questions/22901

  •  09-06-2019
  •  | 
  •  

Вопрос

Я собираюсь использовать C / C ++ и хотел бы знать, как лучше всего взаимодействовать с сервером MySQL.Должен ли я использовать библиотеку, поставляемую вместе с установкой сервера?Есть ли какие-нибудь хорошие библиотеки, которые я должен рассмотреть, кроме официальной?

Это было полезно?

Решение

Другие советы

Это немного зависит от того, что вы хотите сделать.

Во-первых, ознакомьтесь с библиотеками, которые обеспечивают подключение не только к платформе СУБД.Например, Qt позволяет очень легко подключаться к MySQL, MS SQL Server и множеству других и изменять драйвер базы данных (тип подключения) во время выполнения - всего несколькими строками кода.

Библиотеки, специфичные для MySQL, хороши, но имейте в виду, что вы ограничиваете себя одной реализацией БД - если вам когда-нибудь понадобится что-то изменить в будущем, это потребует большой работы - даже если вы разработаете свой код таким образом, что специфичные для БД материалы будут скрыты за фасадом.Почему бы не использовать библиотеку, обеспечивающую подключение к нескольким платформам, и не избавить себя от лишних хлопот?

ОТЛ это надежное решение для кросс-СУБД для C ++, которое мой проект использует уже много лет.Мы используем его для взаимодействия с SQL Server (через ODBC) и Oracle (через OCI).Он довольно прост в управлении и поставляется с большим количеством примеров во всех поддерживаемых базах данных.

Нет ничего плохого в собственных клиентских библиотеках MySQL.Если вы готовы согласиться на уменьшенная функциональность, вы можете приобрести дополнительную переносимость, используя ODBC, UDBC, apr_dbd ( апр_дбд ), или какая-либо другая библиотека абстракции базы данных (например, уже предложенная OTL).

Это упростит переключение серверной части, но, как я уже упоминал, за счет предоставления меньшей функциональности по сравнению с собственным клиентом.Поскольку поставщики БД различаются, библиотеки абстракции действительно могут предлагать только функции, общие для всех (или большинства) серверных частей.Предпочитаете ли вы оптимизировать для конкретной базы данных или хотите упростить переключение серверных частей, решать вам (и, возможно, вашему менеджеру).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top