@valter_bas

Как драйвер подключается к базе данных?

Как драйвер подключается к базе данных. Я так понимаю это должен быть какой-то запрос, вроде http, или подключение через TCP, если так то, что содержиться в этом запросе, где об этом можно почитать подробно, есть какие-то статьи, книги или хотябы открытый исходный код где это можно посмотреть?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@vabka
Токсичный
У каждой БД есть свой api - он может быть как на TCP, так и на HTTP. Обычно, он где-то задокументирован для разработчиков драйверов, но не всегда.
Например у clickhouse есть задокументированный HTTP-api, но не задокументирован TCP, но это не особо мешает людям, тк исходники открыты.
Вот, например, реализация драйвера для postgresql на C#: https://github.com/npgsql/npgsql/tree/main/src/Npgsql
Вот он-же, но на Java: https://github.com/pgjdbc/pgjdbc
В 99% случаев нет никакого смысла разрабатывать свой драйвер, тк это не такая уж и простая задача, а разработчики СУБД уже и так запиливают свои реализации для самых популярных платформ.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@NewDevLab
драйвер может реализовать и подключаться через физическую среду, реализация которой есть у сервера. например, к MsSql можно подключиться через shared memory, pipe или tcp/ip. Соответственно, родной драйвер от MS реализует все три способа подключения. Хотя мог бы и один, например, другой драйвер. Способ общения драйвера и СУБД - прикладной уровень, и, например, в MsSql закрыт, насколько я знаю.
В OpenSource MySql есть исходники, можете посмотреть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы