Подключение к серверу базы данных с использованием функций Fsockopen или Socket и выпуска команд

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

Вопрос

Как мы подключаемся к серверу базы данных, используя любой язык программирования, используя функции сокета. Я думаю, как протоколы. Например, SMTP, HTTP, FTP, IMAP. Мы подключаемся к этим портам и выпускаем Comands (выполнять команды). Таким образом, можно подключиться к серверу базы данных (порт 3306), и можем ли мы выпустить команды, которые могут выполнять различные функции, такие как DDL, DML, TCL.

Поскольку люди говорят, что сервер базы данных я подумал об этом, как будто должна быть некоторая возможность сделать с тем, что, я думаю, вместо использования функций SQL, связанных с языком программирования, таких как MySQL_CONNECT, MYSQL_SELECT или MYSQL_QUERY ...

Я хотел бы иметь предложения, ответы и ссылки. Может быть, я не использую соответствующую строку поиска в Google, чтобы найти информацию для этого.

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

Решение

Вам нужно будет общаться с серверами, используя их (пользовательские) протоколы.

Зачем вам вернуть эти протоколы? Если это просто академическое любопытство, вам намного лучше использовать какие -либо библиотеки, которые поставлены поставщики DB.

Функции, о которых вы говорите (mysql_connect, mysql_query, ...), по сути, действуют в необработанном розетке, но они знают протокол. Они берут запрос на SQL, и они берут гнездо, и они обрабатывают запрос в нужные данные для отправки.

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

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

"Ты не". Если конкретная служба не документирует свой протокол как публичный API, это рискованно, сложно и подвержено в любую минуту. Протокол может даже включать элементы, специально предназначенные для того, чтобы сделать это трудным. Вы можете, конечно же, Wireshark и обратный инженер протокол, но вы никогда не знаете, что определение не включает в себя «22 сентября», изменяйте все Q на R. '

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