《2023年嵌入式SQL.docx》由会员分享,可在线阅读,更多相关《2023年嵌入式SQL.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年嵌入式SQL 嵌入式SQL 嵌入式SQL的定义:嵌入式SQL(英文: Embedded SQL)是一种将SQL语句直接写入C语言,COBOL,FORTRAN, Ada等编程语言的源代码中的方法。借此方法,可使得应用程序拥有了访问数据以及处理数据的能力。在这一方法中,将SQL文嵌入的目标源码的语言称为宿主语言。 嵌入式SQL内容:除了可以执行标准SQL文之外,为了对应嵌入的需要,还增加了一些额外的语法成分。主要包含以下内容: (1)宿主变量使用声明的语法 (2)数据库访问的语法 (3)事务控制的语法 (4)游标操作的语法 对宿主型数据库语言SQL,DBMS可以采用两种方法处理,一种是预
2、编译,另一种是修改和扩充主语言使之能处理SQL语句。目前采用较多的是预编译的方法。即有DBMS的预处理程序对源程序进行扫描,识别出SQL语句,把它们转换成主语言调用语句,以使主语言编译程序能识别它,最后由主语言的编译程序将整个源程序编译成目标码。 嵌入式SQL的使用范围和环境 支持嵌入式SQL的数据库产品以下列出支持嵌入式SQL的数据库产品以及各自支持的宿主语言Oracle DatabaseAda Pro*Ada在Oracle 7.3的版本中被加入产品族,并且在Oracle 8中被替换为 SQL*Module。但在此之后就一直没有更新。SQL*Module支持Ada 83.C/C+ Pro*C
3、 在Oracle 8 时被替换成了Pro*C/C+。之后Pro*C/C+ 到Oracle Database 11g仍都在被支持。COBOL Pro*COBOL到Oracle Database 11g仍都在被支持。Fortran Pro*FORTRAN 在Oracle 8之后的Oracle版本中就不再被更新,但Bug修正仍在维护中。Pascal Pro*Pascal在Oracle 8之后的Oracle版本中就不再被更新。PI/L Pro*PL/I 自Oracle 8之后就不再被更新,但文档中仍然有记述。IBM DB2IBM DB2的版本9中提供了对于C/C+,COBOL,Java等宿主语言的嵌入
4、式SQL的支持。 PostgreSQLC/C+ PostgreSQL 自版本6.3起就提供了对于C/C+的嵌入式SQL的支持,以ECPG组件的形式存在。 下面就例举嵌入式SQL在数据挖掘系统中的应用 1 数据挖掘系统框架设计 本系统的设计思路是:首先对存储在SQLServer数据库中的大型复杂设备的海量历史故障样本数据通过数据挖掘技术抽取出故障规则:其次通过传感器和数据采集卡实时采集大型复杂设备关键部位的运行数据并存人数据库:然后对实时采集的数据经过去噪、清理、离散化等预处理;最后通过匹配程序对预处理后的数据进行诊断并得出结果 2 嵌入式SQL的应用 考虑到大型复杂设备的参数比较多数据量十分巨
5、大,因此,本系统的运行效率是很重要的因素。也正是基于这一点, 本系统的 核心部分 数据挖掘部分采用了类算法中具有高效快速且对故障分类能完全覆盖的决策树算法。由于SQL Server数据库中存放的故障样本数据和实时运行数据都十分巨大,且算法需要对这些海量数据进行查询、变换等操作,因而要求编程语言既灵活又高效。然而,在目前流行的高级编程语言中。C语言灵活有余而在此的高效性却不足,传统的SQL语言高效性有余而灵活性不足。基于以上考虑,本系统综合利用SQL的高效性和C语言的灵活性即采用嵌入式SQL(IESQLC)来编写核心代码,这就是所谓的决策树算法。嵌入式SQL语言就是将SQL语句直接嵌入到程序的源
6、代码中,然后与其他程序设计语言语句混合。专用的SQL预编译程序,可将嵌入的SQL语句转换为能被程序设计语言(如C语言1编译器识别的函数调用。然后,C编译器则可编译源代码为可执行程序。嵌入SQL语句应该包含五个步 骤: (1)通过SQLCA建立应用程序和SQL SERVER 的SQL通信区域; (21声明宿主变量; (31连接IJSQL SERVER; (4)通过SQL语句操作数据; (51处理错误和结果信息。 具体到本数据挖掘系统为了使嵌入式SQL语言能被VC编译器识别,对它处理的第一步是预编译。预编译器(nsq|prepexe)处理 过程分为两个小步:其一是语法分析。用于检查嵌ASQL语句的
7、语法正确性:其二是增加一些预编译器变量,并注释所有嵌入的SQL语句,并用一些特定的函数代替。预编译过后便可产生标准的C程序。再通 过VC编译器添加一些静态库文件,就可将C的系统库和SQL Seer提供的库文件同目标文件连接在一起,从而生成可执行模块。 3 系统的实现 整个数据挖掘系统的软件程序可以采用VC语言进行编写,以将嵌入式SQL语言编写的决策树算法模块通过Shell Execute 0 函数有机嵌入到整个系统之中。系统硬件部分采用NI的数据采集卡,并通过传感器连接设备关键部件,并采集设备运行的实时数据。本系统已成功用于某大型设备电源系统的故障诊断。系统包括“样本数据预处理”、“挖掘故障规则库”、“数据实时采集”、“诊断报表打印”、“系统维护”等模块 嵌入式SQL 嵌入式 嵌入式学习的正确步骤,嵌入式 嵌入式学习路线 嵌入式培训 嵌入式Linux学习路线 嵌入式心得 嵌入式学习 嵌入式论文 嵌入式要求 嵌入式报告 嵌入式报告