




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何与关系数据库通信 如何与普通数据库通信 紫金桥实时数据库系统可以与普通关系数据库(DBMS)通讯,将紫金桥实时数据库系统的实时数据或历史数据保存到关系数据库中;也可以将关系数据库中的数据导入到紫金桥实时数据库系统。有两种方法实现两者通信,一是通过ODBCGATE转储程序,该程序可以实现实时数据的周期性转储或历史数据到关系库的存储。另一方法是通过紫金桥系统提供的的SQL函数实现与关系库的通信。前者比较简单,后者比较灵活,但是实现比较复杂。一. ODBCGATE转储数据 ODBCGATE是紫金桥的实用程序之一,支持Microsoft的开放数据库互连(Open Database Connectivity-ODBC),能够访问其它支持ODBC接口的DBMS系统或数据文件,它可以实现以下几个功能: 将DB中的实时数据传送到DBMS中;或者将DBMS中的数据记录更新到DB中。 将DB中的历史数据转储到DBMS中去。 运行转储程序 1) 启动菜单运行紫金桥实时数据库系统/ODBCGATE。 2) 在本机设置中指定自动启动。执行文件位于安装目录,文件名为ODBCGATE.EXE。历史转储 ODBCGate的历史转储,可将DB中某段时间的历史数据一次性转储到DBMS中去。在ODBCGate中可以定义将DB中哪些点装载到DBMS中的哪个表中,同时还可以指定时间段和采样周期等。每个采样点的历史数据被转储到DBMS中多个记录中,表结构如下:字段名类型长度日期时间日期型点名字符串32数值字符串32历史转储组态1.激活菜单“文件(F)/历史转储组态”,进入“历史数据转储组态”对话框 对话框中的组态信息由三个属性页组成:“数据库”属性页、“时间”属性页以及“点定义”属性页。“数据库”属性页单击标签名“数据库”切换到“数据库”属性页。名称:历史数据转储名称,系统可以同时进行多个历史数据转储,每个转储都有一唯一的名称。数据库名:数据库连接描述信息,可以单击连接按钮,选择数据源,这时将出现如下对话框:注意只有数据源名空时才出现该对话框。选择要进行连接的数据源,单击“确定”按钮返回(连接ODBC接口程序的数据源在ODBC管理器中创建与配置,可以在“控制面板”程序组中启动ODBC管理器程序)。此时,如果连接成功,系统会自动将连接DBMS的连接命令加入到“数据库/名称”输入项内。数据表名:此项用于指定DBMS中要创建的数据表的名称。在输入项“名称”内可直接输入数据表的名称。 如果已经与DBMS正确建立连接,点击下拉按钮,列表框会列出DBMS中可访问的数据表名称。可以从中选择一个表名作为要进行转储的数据表,若想删除数据表,则单击“删除”按钮。“时间”属性页 单击标签名“时间”切换到“时间”属性页。在“时间”属性页中指定关于历史数据转储的各种时间参数。开始日期:用“年”、“月”、“日”表示。开始时间:用“时”、“分”、“秒”表示。时间长度:单位可以为:日、时或分。采样间隔:历史数据的采样周期。单位可以为:时、分或秒。“点定义”属性页单击标签名“点定义”切换到“点定义”属性页。在“点定义”属性页中指定DBMS数据表要记录的点。名称:记录到数据库中的名称,一般与点名相同。点名:实时数据库中的点名。类型:数据类型。长度:字符个数,只对字符串类型有效。当指定了名称、数据类型、对应的DB点、参数名后,然后单击“增加”按钮。 通过“增加”,“删除”,修改等按钮可以增加新的点,或修改删除已有的记录。 单击“导出“可以将表格中内容导出导文本文件中。 单击“导入“可以将文本文件中的内容导入到表格中。 注: 文本文件为制表符格式,可以在Excel中编辑,然后导入。 组态完毕后,单击“历史数据转储组态”对话框“确定”按钮。执行历史转储 当完成了历史转储组态后,激活菜单命令“文件(F)/开始历史转储”,开始历史转储过程。此时系统出现进度条以提示数据转储的过程。浏览历史转储结果 如果想查看DBMS中转储数据的结果,可以激活菜单命令“查看/浏览历史库”,ODBCGate自动显示查询到的DBMS数据记录)。二、实时转储 ODBCGate的实时转储完成DB与DBMS之间的实时数据转储。ODBCGate的实时数据转储功能用来建立紫金桥实时数据库DB与DBMS之间的实时数据连接。而且数据传送是双向的,不仅能够将DB的实时数据装载到DBMS中,还可以将DBMS中各字段的数值读入DB。 实时转储可以同时建立与多个DBMS的多个数据表的实时连接。每个实时连接对一名称。ODBCGate通过名称来管理多个连接的多个任务,连接的数量不受限制。 在利用ODBCGate进行实时转储时,要定义将DB中哪些点装载到哪个DBMS中的哪个表中。每个采样点的实时数据被装载到DBMS中后占据一个(更新方式)或多个记录。 组态1. 激活菜单“文件(F)/实时数据转储组态”,进入“实时数据转储定义”对话框。 在此对话框中,可以增加一个访问名、修改或删除一个已建访问名。ODBCGate通过访问名以区别连接不同的ODBC接口和不同的数据表,定义的访问名标识必须唯一。对话框中“数据库”和“点定义” 属性页与历史转储相同,下面介绍一下“其它” 属性页。数据流向:此选择项指定在系统运行时是由DB的数据实时更新到DBMS,还是由DBMS中的数据记录实时更新到DB的数据。更新周期:用于指定当前访问名进行实时数据转储的执行周期。单位可以是日、时、分、秒。更新周期最快不能小于5秒。修正时间:相对于零点偏置时间,该值必须小于更新周期。如周期为一天,修正时间为1小时。那么每日1时转储一次。如周期为1小时,修正时间为10分。那么每小时10分转储一次。如果在“数据流向”中选择“实时库到管理库”,那么ODBCGate更新DBMS中数据记录时将有两种方式:更新方式和插入方式。对于更新方式,对应一个DB点,ODBCGate仅在DBMS中维护一条记录,并周期性地更新这一记录的数据;对于插入方式,则没插入一次,增加一条记录,以“流水帐”方式记录DB中实时数据变化的过程。 如果在“数据流向”中选择“管理库到实时库”,那么ODBCGate用DBMS数据记录更新DB数据仅有一种方式:更新方式。插入方式选择项将被禁止。此时,ODBCGate周期性地访问DBMS中数据记录,并用获取的数据记录更新DB中对应的点参数值。如果DBMS数据表中对应DB中某点参数的字段名数据记录不唯一,那么ODBCGate将不能保证用于更新的数据记录是想要更新的记录,因此, DBMS管理员在定义数据表字段属性时,最好将对应DB点参数的字段名定义为unique(记录唯一)属性,以防止产生错误数据。如果在“存储方式”中选择了“插入方式”,则需要指定DBMS保存数据记录的时间长度。最短的时间为1天。比如,当指定了保存天数为10天时,ODBCGate将维护DBMS中数据表中的数据记录数不会超出10天内所能生成的记录数。运行实时转储当完成了实时转储组态后,激活菜单命令“文件(F)/运行实时转储”,开始实时转储过程。浏览实时转储结果 若要查看DBMS中实时数据转储结果,可以激活菜单命令“查看/浏览实时库”,出现“选择访问名”对话框,在上面选择要查看的转储访问名,但击“确认”按钮。系统参数单击文件/系统参数菜单,出现如下对话框,在此指定是否使用多线程,每次运行时是否进行表结构检查,以及初始是否进入运行态等。主机名单击文件/主机名菜单,出现如下对话框,在此可以指定远程实时数据库名称。二.SQL函数 SQL(结构化查询语言)是关系数据库使用的用来检索、更新和管理数据标准语言。开放式数据库互连(ODBC)是Microsoft的标准API。RealInfo通过ODBC API访问SQL数据源,并为之封装了多种数据库访问函数即SQL函数,用户通过这些函数可以创建、删除数据表;向数据表中插入、更新记录、定位记录、读取记录内容,从而实现RealInfo与关系数据库间的双向传送。1.与关系数据库建立连接 要与关系数据库打交道,首先要调用函数SQLConnect与其建立连接。SQLConnect( ConnectID, SourceDesc) 说明 与指定的数据库建立连接。如果指定的远程数据库不存在,该函数可能要等待几十秒。参数 ConnectID 整型,数据源标识,为返回值,该值将用于其它后续SQL函数。 SourceDesc 字符串,数据源描述。数据源描述可以通过脚本中工具条 按钮“SQL连接“按钮得到。注意事项 数据源使用完后,使用SQLDisconnect来断开连接 。示例SQLConnect(ConnectID,DSN=abc;DBQ=D:0abc.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;);2. 创建数据表 创建数据表除了要定义表名称外,还要定义数据表的结构,即数据表有哪些字段,每一字段的数据类型,是否为关键字,数据长度等信息。字段的多少不定,这些信息内容较多,因此我们通过单独的配置程序定义,称之为“表模板”。表模板定义 在导航器中选择“画面/数据表管理/表模板”将出现如下所示对话框:对话框各项说明:名称 输入表模板名称,名称可以是英文字母、“_,或数字的组合,也可以为汉字,但是不能为纯数字。最大长度为 32 个字符。增加 添加一行。删除 删除表格模板中当前行。插入 在当前行之上插入一行。保存 保存表格模板内容。表格各列说明字段名 输入列名。字段名最多为 31 个字符。类型 选择数据类型。索引 选择索引类型。 “唯一”,该列内每一值必须为唯一的。 “非唯一”,该列内的值不必是唯一的。 “无”,没有索引。允许空值 选择是否允许有空值。3. SQLCreateTable建立好表模板后,通过函数SQLCreateTable建立数据表,该函数说明如下:SQLCreateTable(ConnectID,TableName,TemplateName)说明 使用表模板在数据库中创建数据表 。参数 ConnectID 数据源标识,由SQLConnect调用返回。 TableName 字符串类型,新建的数据表名称。 TemplateName字符串类型,使用的表模板名称。注意事项 数据表模板必须在SQL管理器中事先建立。表模板中字符串长度一定要合适。示例 SQLCreateTable(ConnectID,Mytab, TMPL1);4. 插入记录 与数据库通信,最重要的事情就是向数据库中插入记录,插入记录就要指明记录中每个字段的值,值的来源是实时数据库,各字段的值是如何与数据库中的点或变量对应的呢,这是通过绑定表来定义的。绑定表规定了数据表中的字段与紫金桥的变量之间的对应关系,插入或更新记录时各字段将取对应的变量的当前值, 从关系数据库读取数据将更新对应的RealInfo变量的当前值,即其规定的是一种双向数据传送变量与字段间的对应关系。绑定表定义在导航器中选择“画面/数据表管理/绑定表”将出现如下所示对话框:对话框各项说明:名称 输入绑定表名称,名称可以是英文字母、“_,或数字的组合,也可以为汉字,但是不能为纯数字。最大长度为 32 个字符。增加 添加一行。删除 删除绑定表中当前行。插入 在当前行之上插入一行。保存 保存绑定表内容。表格各列说明字段名 输入列名。字段名最多为 31 个字符。类型 选择数据类型,一般要与表模板中定义相同。变量名 输入与该字段关联的变量名称。5. SQLInsert函数 向关系数据库插入数据,要调用函数SQLInsert,函数说明如下:SQLInsert(ConnectID, TableName, BindName)说明 将绑定表中指定的变量的当前值插入到数据表中。参数 ConnectID 整型,数据源标识,由SQLConnect调用返回。 TableName 字符串类型,为数据库中数据表名称。 BindName 字符串类型,所使用的绑定表名称。注意事项 TableName 为数据库中数据表名称,而不是表模板名称。示例 SQLInsert(ConnectID,Mytab, BIND1); 更新数据,可以调用函数SQLUpdate6.查询 通过SQLSelect函数可以对数据库内容进行查询,查询结果可以通过SQLDisplay显示,通过函数SQLStatistics可以对查询结果进统计。SQLFirst,SQLLast,SQLPrev, SQLMoveTo等用于移动光标位置。SQLSelect(ConnectID,TableName, WhereExpr)说明 选择数据表中符合条件的记录,该函数返回一数据集。可以使用如下函数 SQLFirst(),SQLLast(),SQLNext(),SQLPrev()定位记录。参数 ConnectID 数据源标识,由SQLConnect调用返回。 TableName 字符串,数据表名称。 WhereExpr字符串,选择表达式,只有符合该条件的记录被选中。条件中可以指明按哪个字段排序,关键字为ORDER BY;以及升序还是降序,关键字为DESC/ASCE。示例 SQLSelect(ConnectID,Mytab,); 选择所有记录。 SQLSelect (ConnectID,Mytab,TEMP =0 ORDER BY NAME DE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 介绍合作佣金合同范本
- 气密门窗采购合同范本
- 2025杀菌机试题及答案
- 2025年数字信号处理考试题库及答案
- 四川医学基础知识事业单位考试题库(含答案)
- 工程安全管理基础考试题含参考答案
- 2025年虚拟现实游戏开发与IP授权合作协议
- 2025年农业现代化农村土地流转贷款合同规范模板
- 2025年宾馆客房布草专业洗涤与满意度持续提升服务协议
- 2025年创意印刷品设计、生产与全球网络零售合作协议
- 18项医疗核心制度题库(含答案)
- 科技美肤基础知识培训课件
- 2026届高考山东省启思教育高三暑假线上第一次模拟考试数学试题
- 企业质量管理培训
- 《俗世奇人》整本书导读课件
- 餐饮管理安全管理制度
- 传统白酒生产项目商业计划书
- 2025年物流仓储行业当前竞争格局与未来发展趋势分析报告
- 西柏坡景点讲解
- 2025年教师资格证考试综合素质(中学)试题及答案
- 江苏省淮安市2024-2025学年高一下学期期末考试物理试卷(解析版)
评论
0/150
提交评论