0

我们如何使用任何使用套接字函数的编程语言连接到数据库服务器。我在想协议。例如 smtp、http、ftp、imap。我们连接到这些端口并发出命令(执行命令)。像这样可以连接到数据库服务器(端口是 3306),我们可以发出命令来执行各种功能,如 DDL、DML、TCL。

既然人们说数据库服务器,我认为应该有一些可能对我的想法做一些事情,而不是使用与编程语言相关的 sql 函数,如 mysql_connect、mysql_select 或 mysql_query ......

我想有建议,答案和参考。可能是我没有使用谷歌中的相关搜索字符串来查找相关信息。

4

2 回答 2

1

“你没有”。除非特定服务将其协议记录为公共 API,否则这是有风险的、困难的并且随时容易中断。该协议甚至可能包含专门用于使其变得困难的元素。当然,您可以对协议进行wireshark 和逆向工程,但您永远无法确定定义不包括“在 9 月 22 日将所有 Q 更改为 R”。

于 2011-09-04T21:58:43.147 回答
0

您将需要使用它们的(自定义)协议与服务器进行通信。

你为什么要重新实现这些协议呢?除非这只是学术上的好奇心,否则最好使用数据库供应商提供的任何库。

您谈论的函数(mysql_connect,mysql_query,...)本质上是在原始套接字上起作用,但它们知道协议。他们接受一个 SQL 查询,他们接受一个套接字,他们将查询处理成正确的数据以发送。

诸如数据库服务器之类的协议将是非人类可读的。与专为小尺寸和严格解析而设计的协议相比,HTTP 漂亮而清晰。除非你绝对需要,否则我会避免重新发明轮子。

于 2011-09-04T21:45:26.260 回答