" SQL代理" vs" SQL客户端"

时间:2015-10-18 08:32:06

标签: sql

根据"第1部分:框架(SQL /框架)"在ANSII SQL:2008中有两个概念:

" SQL代理"和" SQL-client"。

以下是两者的定义:

1)对于" SQL-agent" (见4.2.2节):

  

SQL-agent是导致SQL语句执行的代理

2)" SQL-client" (见4.2.3.1节)

  

SQL客户端是一个处理器,被SQL代理视为一部分   SQL实现,它建立之间的SQL连接   本身和SQL服务器并维护诊断区域等   状态数据与自身,SQL代理和。之间的交互有关   SQL服务器。

他们之间有什么不同?

您能举例说明特定数据库供应商(Oracle,SQL Server,MySQL,PostgreSQL等)吗?

2 个答案:

答案 0 :(得分:1)

只是一个SQL代理是一个用户程序,它通过SQL客户端或直接与DBMS交互。例如,请参阅“4.8 SQL代理与SQL服务器之间的通信”部分,其中包含:

  

宿主语言是一种可用于编写SQL代理的编程语言。要使SQL实现与SQL代理成功通信,后者必须使用SQL实现支持的宿主语言编写。

答案 1 :(得分:1)

谢谢Renzo。

我只是想扩大你的答案。

SQL-Clients是生成SQL语句的DBMS的一部分。 它可以像SQL Server 2000中的“查询分析器”一样使用UI 或者就像Oracle中的“SQL * Plus”这样的控制台编辑器。

另一方面SQL-server(在规范中也提到) 是DBMS的一部分,它使用SQL语句。

这是一个主要的例子是SQL Server安装向导。 在此向导的其中一个步骤中,我们可以选择要安装的内容:

1)仅限客户端工具

2)仅限服务器工具

3)客户端和服务器工具

SQL-agent是连接到DBMS的用户程序。 例如,对于Java,它可以是通过JDBC连接到数据库的独立Java应用程序。