网络数据库访问权限

通过网络访问数据库需要多个组件,每个组件都独立于编程接口,并且位于编程接口下。 下图显示了这些组件。

Components to access a database across a network

每个组件的详细描述如下:

  • 编程接口:如本节前面所述,编程接口包含应用程序发出的调用。 这些接口(嵌入式 SQL、SQL 模块和调用级别接口)通常特定于每个 DBMS,尽管其通常基于 ANSI 或 ISO 标准。

  • 数据流协议:数据流协议描述了 DBMS 与其客户端之间传输的数据流。 例如,协议可能需要第一个字节来描述数据流其余部分包含的内容:要执行的 SQL 语句、返回的错误值或返回的数据。 然后,数据流中其余数据的格式将取决于此标志。 例如,错误流可能包含标志、2 字节整数错误代码、2 字节整数错误消息长度和错误消息。

    数据流协议是一种逻辑协议,与底层网络使用的协议无关。 因此,单个数据流协议通常可用于多个不同的网络。 数据流协议通常是专有的,并且已经过优化,可与特定的 DBMS 配合使用。

  • 进程间通信机制:进程间通信 (IPC) 机制是一个进程与另一个进程相互通信的过程。 示例包括命名管道、TCP/IP 套接字和 DECnet 套接字。 IPC 机制的选择受到所使用的操作系统和网络的限制。

  • 网络协议:网络协议用于通过网络传输数据流。 可以将其看作管道,既支持用于实现数据流协议的 IPC 机制,也支持文件传输和打印共享等基本网络操作。 网络协议包括 NetBEUI、TCP/IP、DECnet 和 SPX/IPX,并且特定于每个网络。