分类: WINDOWS
2010-12-15 22:02:35
/* 设备事件,主要针对向设备发送信息,发送后会删除 */
CREATE TABLE [DeviceEvent] (
[DeviceID] BIGINT NOT NULL,
[DeviceValue] VARCHAR(255) NOT NULL,
CONSTRAINT [sqlite_autoindex_DeviceEvent_1] PRIMARY KEY ([DeviceID]));
/* Data [DeviceEvent] */
/* Drop table [DeviceInfo] */
drop table if exists [DeviceInfo];
CREATE TABLE [DeviceInfo] (
[AUTOID] BIGINT NOT NULL,
[DeviceName] CHAR(100) NOT NULL,
[OPCNAME] CHAR(255) NOT NULL,
[AreaID] BIGINT NOT NULL,
[SubSystemID] BIGINT NOT NULL,
[DeviceType] BIGINT NOT NULL, /*数据类型,如VT_INT,VT_BSTR*/
[DeviceDesc] VARCHAR(255),
CONSTRAINT [sqlite_autoindex_DeviceInfo_1] PRIMARY KEY ([AUTOID]));
/* Data [DeviceInfo] */
/* Drop table [DeviceStatus] */
drop table if exists [DeviceStatus];
/* 设备状态*/
CREATE TABLE [DeviceStatus] (
[DeviceID] BIGINT NOT NULL,
[DeviceValue] VARCHAR(255) NOT NULL,
[IsAlarm] INT NOT NULL DEFAULT (0),/*设置是否报警,1,报警;其它不报*/
CONSTRAINT [sqlite_autoindex_DeviceStatus_1] PRIMARY KEY ([DeviceID]));
以上数据库是sqlite导出结构,其中,表DeviceStatus表中是由client push server,并由server 存进去到deviceStatus表中
表DeviceInfo是存储点位的主要表,在核心应用中主要用到AUTOID,OPCNAME,DEVICETYPE,
其中DeviceType表示COM数据类型,整型为3,FLOAT为4,BSTR为8.当核心应用启动时会自动从这个表中获取opcname,并创建出来
表DeviceEvent是用于server向client push数据,比如通过改数据库或其它程序添加了event,则由核心库向client推出去该数据,然后把相关event清空。
chinaunix网友2010-12-16 14:50:07
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com