Сведения о вопросе

Ayrat

06:42, 1st August, 2020

Теги

c++   sql   mysql   c   database    

Что является лучшим способом, чтобы взаимодействовать с сервером MySQL?

Просмотров: 427   Ответов: 4

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



  Сведения об ответе

SSESION

04:03, 4th August, 2020

  Сведения об ответе

DO__IT

16:19, 19th August, 2020

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

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

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


  Сведения об ответе

#hash

19:17, 6th August, 2020

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


  Сведения об ответе

VCe znayu

07:25, 4th August, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться