InTouch与关系数据库的数据交互
这是由Wonderware 中国的技术支持写的有关Wonderware产品的技术信息,供中国地区的分销商,系统集成商以及最终用户参考。此技术信息并不包括在Wonderware公司提供的KBCD中,但使用者应参看Wonderware公司KBCD中的Terms of Use,获取并保证接受其规定的使用者应遵守的相关约定。
文档号:CNTN-IT-001
制作: 2006年8月
概要介绍
这篇文章描述了Wonderware InTouch软件如何读、写关系数据库数据的步骤。本文以Microsoft Access 2000/2003为例,描述了Wonderware InTouch 通过ODBC或OLE DB接口和Access进行数据交互的具体步骤。在实际应用中,Wonderware InTouch软件可通过类似步骤实现与其他关系数据库的数据交互,如Oracle、SQL Server等。
此文档通过InTouch SQL访问管理器将Wonderware? InTouch? 的数据记录到关系数据库中;从关系数据库中读出数据到InTouch的方法类似。详细的函数使用方法请参考《Intouch SQL Access Manager用户手册》。
在开始之前,请确保已满足以下条件:
1.安装InTouch及其最新补丁,本文使用InTouch 9.5中文版。
2.确保在安装InTouch时选择了安装“SQL Access Manager”选项。
3.安装Microsoft Office XP/2003 专业版并确保安装了Microsoft Access选项。本文使用Microsoft
Access 2003。
创建Microsoft Access数据库并配置ODBC数据源
创建Access演示数据库,并配置相应的ODBC数据源。
注:如果采用OLE DB数据接口,可忽略下面配置ODBC数据源的步骤(第二步)。
1.启动 MS Access。
a)创建一个Access数据库SQLAccessData.mdb,新建一个表“InTouchData”。表中有两列:
Pressure和Speed,类型均为“数字”。索引选择“无”。
b)保存并关闭数据库。数据库名字和表名以及相应的列名下面都要用到。
2.配置ODBC数据源。
a)打开“ODBC 数据源管理器”,选择开始—〉程序—〉管理工具--〉数据源(ODBC)如图一所
示。
图一:ODBC数据源管理器对话框
b)在“ODBC 数据源管理器”对话框中,按“添加”按钮新建一个数据源。显示“创建新数据源”
对话框,如图二所示。
图二:创建新数据源对话框
c)选择“Microsoft Access Driver”并点击“完成”按钮,显示“ODBC Microsoft Access 安装”
对话框,如图三所示。
图三:“ODBC M ICROSOFT A CCESS 安装”对话框
d)输入数据源名称和描述,如: SQLAM_Access和“InTouch测试”,点击“选择”按钮选择刚才
创建的Access数据库。如图四所示。
图四:“选择数据库”对话框
e)点击“确定”按钮,显示选择Access数据库后对话框,如图五所示。
图五:“ODBC M ICROSOFT A CCESS 安装”对话框–选择数据库后
Wonderware InTouch的设置
1.新建一个InTouch 应用程序,在InTouch标记名字典创建和Access database 列名相同的标记名:
Pressure, Speed。标记名类型如下:
z Pressure – Memory Integer
z Speed - Memory Integer
Tag Type Used for the MS Access Data Type
Memory Integer Short and Long
Memory Real Float4 and Float8
Memory Message Text
2.按如下标记名创建InTouch脚本所需的标记:
z ConnectionID - Memory Integer
z ResultCode - Memory Integer
z ErrorMsg - Memory Message
3.新建一个InTouch 窗口window,并在新窗口建立如下按钮和脚本。
z“连接数据库”按钮:
采用ODBC数据接口:
ResultCode = SQLConnect( ConnectionId, "DSN=SQLAM_Access" );
采用OLE DB数据接口:
ResultCode = SQLConnect( ConnectionID,
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\sqlaccessdata.mdb;User ID=;Password=; " );
z“断开数据库连接”按钮:
ResultCode = SQLDisconnect( ConnectionId );
z“插入数据”按钮:
ResultCode = SQLInsert( ConnectionId, “InTouchData”, “BindedTable” );
“InTouchData”是DSN指向的Access数据库中的表的名字。
“BindedTable”是在下面第5步中创建的绑定列表名字。
4.编写“数据改变”脚本,检验SQL命令的执行是否成功,标记名为ResultCode。
IF ResultCode == 0 THEN
ErrorMsg = "No errors occurred";
ELSE
ErrorMsg = SQLErrorMsg(ResultCode);
ENDIF;
5.在窗口中插入两个游标对象,用来修改标记名Pressure和Speed的值。
6.完成窗口配置,如图六所示。
图六:窗口配置图
7.启动InTouch SQL 访问管理器,建立绑定列表BlindedList,如图七所示。
z绑定列表把InTouch中的标记名和数据库中表里的列名映射起来。
z注意:列名不能是系统关键字相同。关键字列表见《Intouch SQL Access Manager用户手册》。
图七:“绑定列表配置”对话框
验证InTouch与Microsoft Access的数据通讯
此技术文档仅例举如何把InTouch的数据到插入到Access数据库中,除此之外,Wonderware InTouch 也可以读取或者更新Microsoft Access的数据。有关读取或者更新Microsoft Access的数据的使用方法请参考《Intouch SQL Access Manager用户手册》。
1.启动 WindowViewer,如图八所示。
图八:运行窗口
2.点击“连接数据库”按钮,建立与Access数据库的连接。
3.通过游标按钮修改Pressure和Speed的值,点击“插入数据”按钮,执行SQLInsert 命令,将
Pressure和Speed的值写入到Access数据。
4.点击“断开数据库连接”,断开与Access数据库的连接。
5.在Microsoft Access中打开SQLAccessData.mdb,双击“InTouchData”表验证InTouch数据
是否已写入到数据库。如图九所示:
图九:数据写入验证