根据"第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等)吗?
答案 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应用程序。