ISOIEC 9075-32023 信息技术.数据库语言SQL.第3部分调用级接口(SQLCLI)标准立项发展报告_第1页
ISOIEC 9075-32023 信息技术.数据库语言SQL.第3部分调用级接口(SQLCLI)标准立项发展报告_第2页
ISOIEC 9075-32023 信息技术.数据库语言SQL.第3部分调用级接口(SQLCLI)标准立项发展报告_第3页
ISOIEC 9075-32023 信息技术.数据库语言SQL.第3部分调用级接口(SQLCLI)标准立项发展报告_第4页
ISOIEC 9075-32023 信息技术.数据库语言SQL.第3部分调用级接口(SQLCLI)标准立项发展报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术数据库语言SQL第3部分:调用级接口(SQL/CLI)标准立项发展报告StandardizationDevelopmentReport:InformationTechnology—DatabaseLanguagesSQL—Part3:Call-LevelInterface(SQL/CLI)摘要随着信息技术的迅猛发展,数据库系统在各类业务场景中发挥着越来越关键的作用,而结构化查询语言(SQL)作为数据库操作的核心语言,其标准化工作一直是国际信息技术标准化领域的重点方向。在SQL标准体系中,调用级接口(SQL/CLI)定义了应用程序与数据库管理系统之间进行交互的编程接口规范,是实现数据库互联互通、保证应用可移植性的重要基础。本报告围绕国际标准ISO/IEC9075-3:2023《信息技术数据库语言SQL第3部分:调用级接口(SQL/CLI)》的立项背景、标准内容、技术特点、应用价值及发展趋势进行系统阐述。该标准由国际标准化组织(ISO)与国际电工委员会(IEC)联合技术委员会ISO/IECJTC1下设的SC32分技术委员会负责制定与维护,于2023年6月正式发布。本报告详细分析了标准的修订历程、核心技术框架、与相关标准的协同关系,并就其在我国的应用推广和标准化工作对接提出了建议。报告认为,SQL/CLI标准作为数据库技术领域的基石性规范,对推动数据库产业健康发展、促进数据要素高效流通具有重要的支撑作用。关键词:数据库语言;SQL;调用级接口;SQL/CLI;国际标准;ISO/IEC9075;数据库互联;标准化学科Keywords:DatabaseLanguage;SQL;Call-LevelInterface;SQL/CLI;InternationalStandard;ISO/IEC9075;DatabaseInterconnection;Standardization1引言数据库技术作为信息系统建设的核心基础设施,已经深入到国民经济和社会生活的各个领域。从金融机构的交易处理到电子商务平台的订单管理,从政务信息系统的数据共享到智能制造的生产管控,数据库系统无处不在。在这一背景下,如何保证不同数据库产品之间的互操作性,如何确保应用程序在不同数据库平台间的可移植性,成为信息技术领域亟需解决的关键问题。结构化查询语言(StructuredQueryLanguage,SQL)自20世纪70年代由IBM公司提出以来,经过数十年的发展演进,已经成长为关系型数据库领域事实上的标准语言。国际标准化组织(ISO)和国际电工委员会(IEC)联合制定的ISO/IEC9075系列标准,系统定义了SQL语言的语法规则、语义约束和接口规范,构成了数据库技术标准化的核心框架。在ISO/IEC9075系列标准中,第3部分——调用级接口(SQL/CLI)具有特殊的地位和功能。不同于嵌入式SQL(第2部分,SQL/PSM)将SQL语句嵌入宿主语言代码的编译期绑定方式,SQL/CLI提供了一套运行时调用的函数接口,使应用程序能够在程序执行过程中动态地建立数据库连接、执行SQL语句、获取结果集和管理事务。这种运行时绑定机制为应用程序提供了更大的灵活性和动态性,尤其适合面向对象编程语言、脚本语言以及需要动态构建SQL语句的应用场景。当前,全球数据量呈指数级增长,数据类型日趋多样化,应用场景不断丰富,数据库技术正经历着从传统关系型数据库向分布式数据库、云原生数据库、多模型数据库等方向的深刻变革。在这一技术演进过程中,SQL/CLI标准的持续修订和更新具有重要的现实意义。ISO/IEC9075-3:2023作为该标准的最新版本,在继承既有技术框架的基础上,针对新形势下数据库应用的需求进行了系统性的修订和完善。本报告旨在全面分析ISO/IEC9075-3:2023标准的立项背景、修订历程、核心技术内容和应用推广价值,为我国数据库领域的技术研发、标准制定和产业应用提供参考。2标准立项背景与修订历程2.1标准的制定机构与技术组织ISO/IEC9075-3:2023由国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会ISO/IECJTC1(信息技术委员会)下设的第32分技术委员会SC32(数据管理与交换分技术委员会)负责制定和维护。ISO/IECJTC1/SC32是国际上专门从事数据管理和交换领域标准化工作的技术组织,其工作范围涵盖数据管理体系结构、数据模型、数据库语言、数据元表示、数据交换格式等多个方面。在ISO/IECJTC1/SC32的组织架构下,SQL标准的维护工作由WG3工作组(数据库语言工作组)具体承担。WG3工作组汇集了来自各成员国的数据库技术专家、标准化专家和产业界代表,负责ISO/IEC9075系列标准的持续修订和技术维护工作。该工作组通常每年召开多次工作会议,审议各国提交的技术提案,讨论标准修订中涉及的技术问题,并推动标准文本的更新和完善。2.2标准的版本演进SQL/CLI标准的发展历程可以追溯到20世纪90年代初期。随着SQL标准体系的不断丰富和完善,ISO/IECJTC1/SC32认识到需要为SQL定义一套独立的调用级接口规范,以满足应用程序通过函数调用方式访问数据库的需求。1995年,ISO/IEC9075-3:1995作为SQL/CLI标准的首个版本正式发布。该版本以X/Open公司(后并入TheOpenGroup)提出的调用级接口规范为基础,结合了SQLAccessGroup的相关工作成果,定义了基本的数据库访问函数集。此后,该标准经历了多次修订和更新:-ISO/IEC9075-3:1999:伴随SQL:1999(即SQL3)的整体修订,对CLI部分进行了相应调整,引入了新的数据类型支持和增强的错误处理机制;-ISO/IEC9075-3:2003:配合SQL:2003框架的调整,进一步完善了CLI的接口定义,增加了对SQL/XML相关特性的支持;-ISO/IEC9075-3:2008:对CLI规范进行了技术性修订,修正了已知问题,增强了与国际标准中其他部分的协调一致性;-ISO/IEC9075-3:2016:作为SQL:2016系列修订的一部分,对CLI接口进行了全面更新,引入了对新兴数据库特性的支持;-ISO/IEC9075-3:2023:当前最新版本,在2016年版的基础上进行了进一步的技术修订和完善。ISO/IEC9075-3:2023替代了之前的ISO/IEC9075-3:2016版本。该版本的修订工作主要在2019年至2022年间开展,期间WG3工作组通过多次国际会议讨论了标准修订的技术内容,最终于2023年6月正式发布。2.3标准的立项动因与修订需求ISO/IEC9075-3:2023的修订立项主要基于以下几个方面的需求驱动:第一,技术演进的需求。自2016年版本发布以来,数据库技术领域发生了深刻变化。分布式数据库架构日益成熟,云数据库服务广泛普及,新型数据模型不断涌现。这些技术进步对调用级接口提出了新的要求,需要标准及时跟进更新。第二,与其他标准协调一致的需求。ISO/IEC9075系列标准是一个相互关联的有机整体,各部分的修订需要保持同步和协调。在ISO/IEC9075-3:2023修订期间,SQL标准体系中的其他部分(如ISO/IEC9075-2:2023关于SQL基础语言的部分)也进行了相应修订,CLI部分需要配合这些变化进行调整。第三,解决已知问题和缺陷的需求。在ISO/IEC9075-3:2016的使用实践中,各国专家和产业界发现了部分技术缺陷和表述不清晰之处,需要通过标准修订予以纠正和完善。第四,增强标准可用性和实施一致性的需求。为了帮助标准使用者更好地理解和实施SQL/CLI规范,新版本在文本表述、示例提供和技术解释方面进行了优化。3标准主要内容与技术框架ISO/IEC9075-3:2023定义了SQL调用级接口(SQL/CLI)的规范,该规范描述了一个应用程序与一个或多个SQL数据库管理系统之间进行交互的调用级接口。该标准的主要内容涵盖以下几个核心方面:3.1接口架构与基本概念SQL/CLI标准定义了一种基于函数调用的数据库访问架构。在该架构中,应用程序通过调用一组标准化的函数来与数据库管理系统进行交互。这些函数封装了数据库连接管理、SQL语句执行、结果集处理、事务控制等核心功能。标准中定义了几个关键的抽象概念:-环境(Environment):CLI应用运行的顶层上下文环境,是整个接口体系的根容器;-连接(Connection):应用程序与数据库管理系统之间建立的会话通道,一个环境中可以管理多个连接;-语句(Statement):表示一条SQL语句的句柄,用于语句的准备、执行和结果处理;-描述符(Descriptor):描述数据的数据结构,用于描述参数和结果集中数据的类型、长度、精度等属性。这些抽象概念通过句柄(Handle)机制进行管理。句柄是CLI分配给应用程序的不透明指针或标识符,应用程序通过句柄引用对应的资源对象。CLI标准定义了四种类型的句柄:环境句柄、连接句柄、语句句柄和描述符句柄,它们构成了一个层次化的管理结构。3.2函数接口定义SQL/CLI标准详细定义了约60余个函数接口,这些函数按照功能可分为以下几个类别:(1)连接管理函数:包括`SQLAllocHandle`(分配句柄)、`SQLFreeHandle`(释放句柄)、`SQLConnect`(建立数据库连接)、`SQLDisconnect`(断开数据库连接)等。这些函数负责管理应用程序与数据库之间的连接生命周期。(2)语句执行函数:包括`SQLExecDirect`(直接执行SQL语句)、`SQLPrepare`(准备SQL语句)、`SQLExecute`(执行已准备的语句)等。标准区分了直接执行和预处理执行两种方式,为应用程序提供了灵活的执行策略。(3)结果集处理函数:包括`SQLFetch`(获取结果集中的下一行)、`SQLGetData`(获取结果集中指定列的数据)、`SQLBindCol`(将结果集中的列绑定到应用程序变量)等。这些函数支持多种结果集获取模式,包括行式获取和列式绑定。(4)参数处理函数:包括`SQLBindParameter`(绑定参数)、`SQLParamData`(获取参数数据)等。标准定义了完整参数绑定机制,支持输入参数、输出参数和输入输出参数三种模式。(5)事务控制函数:包括`SQLEndTran`(结束事务)、`SQLSetConnectAttr`(设置连接属性)等,用于管理事务的提交和回滚。(6)目录函数:包括`SQLTables`(获取表信息)、`SQLColumns`(获取列信息)等,用于查询数据库的元数据信息。(7)诊断函数:包括`SQLGetDiagRec`(获取诊断记录)、`SQLGetDiagField`(获取诊断字段)等,用于获取错误和状态信息。3.3数据类型映射SQL/CLI标准详细定义了SQL数据类型与C语言数据类型之间的映射关系。标准中规定了不同SQL数据类型对应的C数据类型、默认缓冲区大小、数据类型标识符等属性。这些定义确保了不同数据库管理系统在CLI实现层面的数据交换一致性。3.4描述符与属性管理描述符是SQL/CLI中重要的数据管理机制。标准定义了描述符的结构、类型和属性设置规则。通过描述符,应用程序可以精确地描述参数和结果集中数据的特征,实现灵活的数据交换。3.5异步处理与连接池为适应当代应用对高性能、高并发的需求,SQL/CLI标准引入了异步处理机制和连接池支持。异步处理允许应用程序在提交SQL语句后继续进行其他工作,而不必等待操作完成。连接池技术支持应用程序复用数据库连接,减少连接建立和断开的开销。4相关标准及协同关系4.1ISO/IEC9075系列标准体系ISO/IEC9075-3:2023是ISO/IEC9075系列标准的重要组成部分。该系列标准体系包括以下几个部分:-ISO/IEC9075-1:2023:框架(Framework)——定义SQL标准体系的技术框架和基本概念;-ISO/IEC9075-2:2023:基础(Foundation)——定义SQL语言的核心语法和功能;-ISO/IEC9075-3:2023:调用级接口(SQL/CLI)——本报告所述的标准;-ISO/IEC9075-4:2023:持久化存储模块(SQL/PSM)——定义SQL的存储过程和持久存储模块;-ISO/IEC9075-9:2023:外部数据管理(SQL/MED)——定义外部数据的管理接口;-ISO/IEC9075-10:2023:对象语言绑定(SQL/OLB)——定义SQL与对象语言(如Java)的绑定;-ISO/IEC9075-11:2023:信息与定义模式(SQL/Schemata)——定义系统目录和信息模式;-ISO/IEC9075-13:2023:Java程序设计语言使用SQL例程与类型(SQL/JRT);-ISO/IEC9075-14:2023:XML相关规范(SQL/XML);-ISO/IEC9075-15:2023:ISO/IEC9075:2023多维数组(SQL/MDA);-ISO/IEC9075-16:2023:属性使用限定符(SQL/PGQ)等。SQL/CLI与这些其他部分之间存在着密切的关联。特别是,SQL/CLI需要在实现层面支持ISO/IEC9075-2所定义的全部SQL语法和数据类型的访问需求。同时,ISO/IEC9075-3中调用级接口的设计也与SQL/PSM的存储过程调用、SQL/XML的XML数据处理等特性紧密相关。4.2与其他国际标准的关系SQL/CLI标准在设计过程中充分参考和吸收了其他相关国际标准的技术成果。在数据类型的表示方面,ISO/IEC9075-3:2023与国际标准化组织制定的ISO/IEC9075-2:2023保持了完全一致的数据类型体系;在字符集处理方面,该标准支持Unicode字符集及相关标准;在网络安全访问控制方面,该标准也考虑了与网络数据库访问相关的安全标准。4.3与我国数据库标准的关系我国在全国信息技术标准化技术委员会(TC28)的框架下开展数据库标准的制定工作,TC28下设多个分技术委员会,负责不同领域的标准化工作。目前国内已制定多项数据库领域国家标准和行业标准,如GB/T12991《信息技术数据库语言SQL》系列标准等,这些标准充分参考和采用了ISO/IEC9075系列国际标准的成果。中国一直是ISO/IECJTC1/SC32的积极参加者,在SQL标准的制定和修订过程中持续参与技术讨论并贡献技术提案。随着我国数据库产业的快速发展,国内数据库厂商和国际标准之间的技术对接需求日益迫切,SQL/CLI标准的推广应用对我国数据库产业发展具有重要意义。5主要参与单位介绍中国电子技术标准化研究院是全国信息技术标准化技术委员会(TC28)秘书处所在单位,也是我国信息技术领域标准化工作的核心支撑机构。该研究院隶属于工业和信息化部,是我国电子信息领域标准化工作的专业研究机构,在数据库标准制定方面具有深厚的技术积累和丰富的工作经验。该研究院长期跟踪并深度参与ISO/IECJTC1/SC32的国际标准化工作,特别是在SQL标准领域,作为中国技术归口单位,多次组织国内数据库厂商和科研机构参与国际标准制修订工作。在ISO/IEC9075-3:2023的修订过程中,中国电子技术标准化研究院组织国内专家对标准草案进行了深入研究,就数据类型映射、字符集处理、接口兼容性等关键技术问题向WG3工作组提交了中国技术提案,并在国际会议中积极表达中国立场和产业需求。在国内层面,该研究院牵头组织了GB/T12991系列国家标准的研究和制定工作,推动国际标准向国内标准转化的进程。同时,研究院与国内主要数据库厂商——如华为、达梦、人大金仓、神州通用等企业——建立了紧密的合作关系,围绕SQL标准符合性测试、数据库产品标准化等工作开展深入合作,为我国数据库产业的标准化发展提供了坚实的技术支撑和服务保障。6标准应用价值与推广前景6.1标准的技术价值ISO/IEC9075-3:2023作为SQL调用级接口的国际标准,具有多方面的技术价值:第一,保障互操作性。标准化的调用级接口使得不同数据库管理系统能够提供一致的编程接口,应用程序开发者无需针对特定数据库产品编写定制化代码,从而实现了跨数据库平台的互操作。特别是SQL/CLI标准被ODBC所借鉴和采纳,Microsoft的ODBC(OpenDatabaseConnectivit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论