收藏 分销(赏)

AOFAX服务器数据库开发接口说明.docx

上传人:xrp****65 文档编号:8878180 上传时间:2025-03-06 格式:DOCX 页数:9 大小:116.35KB
下载 相关 举报
AOFAX服务器数据库开发接口说明.docx_第1页
第1页 / 共9页
AOFAX服务器数据库开发接口说明.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述
AOFAX服务器数据库开发接口说明 一、接口概述 AOFAX数据库接口是为满足企业更多收发传真方式的一种扩展机制,实现了AOFAX传真系统与企业应用系统(如ERP、MIS、OA办公等)之间的交互和集成,从而达到扩展和自定义企业收发传真模式的目的。 AOFAX数据库接口系统由企业应用服务器、中间数据库以及AOFAX传真服务器组成,结构如下图所示: 接口实现了传真的收发功能,收发过程如下: 发送传真:企业应用系统将待发送的传真任务信息写入中间数据库系统,AOFAX传真服务器从中间数据库读取发送任务,转换后提交发送,发送完成后将发送结果回写到中间数据库,企业应用系统从数据库中读取发送结果并进行后续处理。 接收传真:AOFAX传真服务器收到新传真后,自动将传真信息写入到中间数据库系统,企业应用系统从中间数据库读取接收传真信息并进行后续处理。 二、系统部署 1、 准备软硬件环境: 传真服务器:AOFAX企业型、服务器型。 数据库系统:MySQL、SQL Server、Oracle等数据库系统。 企业应用系统:确保系统运作正常,并支持相应数据库系统的存取操作。 2、 配置数据库: 在已正常运作的数据库系统中创建所需的接口数据库和接口表:发送任务表(aofax_send_task)、接收任务表(aofax_recv_task)。表结构和创建脚本参考后续说明。 3、 创建ODBC数据源: 在AOFAX传真服务器上创建相应接口数据库的ODBC数据源DSN项,并确保连接测试成功。 4、 配置AOFAX传真服务器: 启动AOFAX传真系统,在AOFAX管理器“工具”->“选项”菜单的“系统选项”对话框中的“扩展任务”属性页中,选择“启用扩展任务调度”和“启用数据库接口收发传真”,并输入正确的DSN、UID和PWD信息,确保连接测试成功。 三、开发说明 1、 发送传真: 在AOFAX传真服务器上创建临时文件夹(如C:\fSendFax),用以保存企业应用软件提交的待发送传真的文档(文档格式参考下面说明)。 企业用户在企业应用软件(如ERP、OA办公管理等)中发送传真时,发送界面中需要把要发送传真的相关信息体现出来,主要包括收发件人名、区号、传真号码、要发送的文档名等信息。在提交发送时把这些信息保存到中间数据库的AOFAX发送任务表(aofax_send_task)中,同时把要发送传真的文档提交到AOFAX传真服务器上的临时文件夹中,即上述在AOFAX传真服务器上创建的临时文件夹(注意,在填写发送文档路径字段时,要填写绝对路径,例如:AOFAX传真服务器上新建的临时文件夹为“C:\fSendFax”,提交的待发送的文档名称为“abc.doc”,则在填写发送任务表的“sendfile”字段时,应填写“C:\fSendFax\abc.doc”)。 文档提交以后,AOFAX传真服务器定时扫描发送任务表,如果有待发送的文档,将自动读出发送任务信息、转换并完成发送,同时把发送结果回写到发送任务表中。 如果企业用户要安装AOFAX传真客户端,请安装AOFAX企业型或服务器型中的客户端软件即可。 2、 接收传真: AOFAX传真服务器在接收到新传真后,自动把传真相关信息保存到中间数据库的接收任务表(aofax_recv_task)中,用户可以通过读取接收任务表中的内容来查看接收到的传真文件和传真信息。传真文件默认以TIF格式保存在AOFAX传真服务器软件安装目录下的用户数据目录中。 3、 文档格式: 所有通过数据库接口提交的待发送传真文档,都是在AOFAX传真服务器端转换成传真格式文件(.sfx)的,因此,如果要发送某种格式的文档时,这种格式的浏览器或编辑软件必须安装在AOFAX传真服务器上,比如常用的OFFICE软件等等。 能实现自动转换的常用格式有:.doc、.xls、.txt、.pdf、.wri等。另外有些软件不支持自动转换功能,如WPS等,即使安装了这种格式的软件,也不能实现自动发送。同时建议提交的文档不要感染病毒,不要有密码等。 四、数据库表结构 发送传真任务表 表名:aofax_send_task 字段名 类型 长度(字节) 说明 taskid INTEGER 4 任务ID,主键,自增长 title VARCHAR 200 传真主题 ic INTEGER 4 国际区号(必填,如86,即时传真时填0) ldc INTEGER 4 长途区号(必填,如755,即时传真或没有长途区号时填0) fax VARCHAR 64 传真号码(发送有线传真时必填,如83235170) account VARCHAR 20 傲发帐号(发送即时传真时必填,如AF90000099) sender1 VARCHAR 100 发件人1,标识传真发件人,如公司名 sender2 VARCHAR 30 发件人2,标识传真发件人,如人名等 receiver1 VARCHAR 100 收件人1,标识传真收件人,如公司名 receiver2 VARCHAR 30 收件人2,标识传真收件人,如人名等 sendfile VARCHAR 500 待发送文件名(必填,绝对路径),多个文件之间用“|”相隔(例如:“C:\fax1.txt|D:\fax2.txt”) sendflag INTEGER 4 发送标志(必填): 0:普通发送 1:优先发送(排到当前发送队列的首部) line INTEGER 4 选择线路(必填): 0:自动调度(先尝试即时传真,失败后由电话线发送) 1:仅电话线发送(fax不能为空) 2:仅即时传真发送(account不能为空) status INTEGER 4 任务状态: 0:提交(等待转换) 1:发送(已转换并排队发送) 2:成功(传真发送成功) 3:失败(传真发送失败) 4:取消(传真发送被取消) 添加新任务时固定填写为0,发送完成后状态由系统回写 extinfo VARCHAR 200 扩展信息 retcode INTEGER 4 结果码,发送完成后由系统回写 sendtime INTEGER 4 发送时间(标准C time_t格式,从1970年1月1日0时0分0秒开始计算的秒数),发送完成后由系统回写 faxfile VARCHAR 260 转换后传真文件名(TIF格式,绝对路径),发送完成后由系统回写 reserve1 INTEGER 4 保留字段1,固定填0 reserve2 INTEGER 4 保留字段2,固定填0 ext1 INTEGER 4 扩展字段1,固定填0 ext2 INTEGER 4 扩展字段2,固定填0 memo VARCHAR 200 备注 接收传真任务表 表名:aofax_recv_task 字段名 类型 长度(字节) 说明 taskid INTEGER 4 任务ID,主键,自增长 title VARCHAR 200 传真主题 ic INTEGER 4 国际区号(发送方) ldc INTEGER 4 长途区号(发送方) fax VARCHAR 64 传真号码(发送方传真号码,即时传真时为“传真号码/傲发号”,如“83235170/AF90000099”) sender1 VARCHAR 100 发件人1,标识传真发件人,如公司名 sender2 VARCHAR 30 发件人2,标识传真发件人,如人名等 receiver1 VARCHAR 100 收件人1,标识传真收件人,如公司名、部门等 receiver2 VARCHAR 30 收件人2,标识传真收件人,如人名、分机号等 faxfile VARCHAR 260 传真文件名(绝对路径,TIF格式) page INTEGER 4 传真页数 recvtime INTEGER 4 接收时间(标准C time_t格式,从1970年1月1日0时0分0秒开始计算的秒数) recvflag INTEGER 4 接收标志: 0:电话线传输方式 1:即时传真传输方式 deviceid VARCHAR 16 传真机SN码,主要用在多路的情况下标识传真是从哪台3G-FAX接收 extinfo VARCHAR 200 扩展信息 ext1 INTEGER 4 扩展字段1,固定为0 ext2 INTEGER 4 扩展字段2,固定为0 memo VARCHAR 200 备注 五、SQL脚本参考 1、MySQL: DROP TABLE IF EXISTS aofax_recv_task; CREATE TABLE aofax_recv_task ( taskid int(10) unsigned NOT NULL AUTO_INCREMENT, title varchar(200) DEFAULT NULL, ic int(10) unsigned DEFAULT NULL, ldc int(10) unsigned DEFAULT NULL, fax varchar(64) DEFAULT NULL, sender1 varchar(100) DEFAULT NULL, sender2 varchar(30) DEFAULT NULL, receiver1 varchar(100) DEFAULT NULL, receiver2 varchar(30) DEFAULT NULL, faxfile varchar(260) DEFAULT NULL, page int(10) unsigned DEFAULT NULL, recvtime int(10) unsigned DEFAULT NULL, recvflag int(10) unsigned DEFAULT NULL, deviceid varchar(16) DEFAULT NULL, extinfo varchar(200) DEFAULT NULL, ext1 int(10) unsigned DEFAULT NULL, ext2 int(10) unsigned DEFAULT NULL, memo varchar(200) DEFAULT NULL, PRIMARY KEY (taskid), UNIQUE KEY taskid (taskid) ) ENGINE=MyISAM AUTO_INCREMENT=200 DEFAULT CHARSET=latin1; DROP TABLE IF EXISTS aofax_send_task; CREATE TABLE aofax_send_task ( taskid int(10) unsigned NOT NULL AUTO_INCREMENT, title varchar(200) DEFAULT NULL, ic int(10) unsigned DEFAULT NULL, ldc int(10) unsigned DEFAULT NULL, fax varchar(64) DEFAULT NULL, account varchar(20) DEFAULT NULL, sender1 varchar(100) DEFAULT NULL, sender2 varchar(30) DEFAULT NULL, receiver1 varchar(100) DEFAULT NULL, receiver2 varchar(30) DEFAULT NULL, sendfile varchar(500) DEFAULT NULL, sendflag int(10) unsigned DEFAULT NULL, line int(10) unsigned DEFAULT NULL, status int(10) unsigned DEFAULT NULL, extinfo varchar(200) DEFAULT NULL, retcode int(10) unsigned DEFAULT NULL, sendtime int(10) unsigned DEFAULT NULL, faxfile varchar(260) DEFAULT NULL, reserve1 int(10) unsigned DEFAULT NULL, reserve2 int(10) unsigned DEFAULT NULL, ext1 int(10) unsigned DEFAULT NULL, ext2 int(10) unsigned DEFAULT NULL, memo varchar(200) DEFAULT NULL, PRIMARY KEY (taskid), UNIQUE KEY taskid (taskid) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; 2、SQL Server: if exists (select * from dbo.sysobjects where id = object_id(N'[aofax_send_task]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [aofax_send_task] GO if exists (select * from dbo.sysobjects where id = object_id(N'[aofax_recv_task]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [aofax_recv_task] GO CREATE TABLE [aofax_send_task]( taskid [int] IDENTITY (1, 1) PRIMARY KEY CLUSTERED NOT NULL, title [varchar](200) NOT NULL DEFAULT (0), ic [int] NOT NULL DEFAULT (0), ldc [int] NOT NULL DEFAULT (0), fax [varchar](64) NOT NULL DEFAULT (0), account [varchar](20) NOT NULL DEFAULT (0), sender1 [varchar](100) NOT NULL DEFAULT (0), sender2 [varchar](30) NOT NULL DEFAULT (0), receiver1 [varchar](100) NOT NULL DEFAULT (0), receiver2 [varchar](30) NOT NULL DEFAULT (0), sendfile [varchar](500) NOT NULL DEFAULT (0), sendflag [int] NOT NULL DEFAULT (0), line [int] NOT NULL DEFAULT (0), status [int] NOT NULL DEFAULT (0), extinfo [varchar](200) NOT NULL DEFAULT (0), retcode [int] NOT NULL DEFAULT (0), sendtime [int] NOT NULL DEFAULT (0), faxfile [varchar](260) NOT NULL DEFAULT (0), reserve1 [int] NOT NULL DEFAULT (0), reserve2 [int] NOT NULL DEFAULT (0), ext1 [int] NOT NULL DEFAULT (0), ext2 [int] NOT NULL DEFAULT (0), memo [varchar](200) NOT NULL DEFAULT (0), ) ON [PRIMARY] GO CREATE TABLE [aofax_recv_task] ( taskid [int] IDENTITY (1, 1) PRIMARY KEY CLUSTERED NOT NULL, title [varchar](200) NOT NULL DEFAULT (0), ic [int] NOT NULL DEFAULT (0), ldc [int] NOT NULL DEFAULT (0), fax [varchar](64) NOT NULL DEFAULT (0), sender1 [varchar](100) NOT NULL DEFAULT (0), sender2 [varchar](30) NOT NULL DEFAULT (0), receiver1 [varchar](100) NOT NULL DEFAULT (0), receiver2 [varchar](30) NOT NULL DEFAULT (0), faxfile [varchar](260) NOT NULL DEFAULT (0), page [int] NOT NULL DEFAULT (0), recvtime [int] NOT NULL DEFAULT (0), recvflag [int] NOT NULL DEFAULT (0), deviceid [varchar](16) NOT NULL DEFAULT (0), extinfo [varchar](200) NOT NULL DEFAULT (0), ext1 [int] NOT NULL DEFAULT (0), ext2 [int] NOT NULL DEFAULT (0), memo [varchar](200) NOT NULL DEFAULT (0), ) ON [PRIMARY] GO 2、Oracle: drop trigger aofax_send_task_trigger; drop sequence aofax_send_task_seq; drop table aofax_send_task; drop trigger aofax_recv_task_trigger; drop sequence aofax_recv_task_seq; drop table aofax_recv_task; CREATE TABLE aofax_send_task ( taskid number(10), title varchar2(200), ic number(10), ldc number(10), fax varchar2(64), account varchar2(20), sender1 varchar2(100), sender2 varchar2(30), receiver1 varchar2(100), receiver2 varchar2(30), sendfile varchar2(500), sendflag number(10), line number(10), status number(10), extinfo varchar2(200), retcode number(10), sendtime number(10), faxfile varchar2(260), reserve1 number(10), reserve2 number(10), ext1 number(10), ext2 number(10), memo varchar2(200), PRIMARY KEY (taskid) ); create sequence aofax_send_task_seq start with 1 increment by 1 cache 5; create trigger aofax_send_task_trigger before insert on aofax_send_task for each row begin select aofax_send_task_seq.nextval into :new.taskid from dual; end; CREATE TABLE aofax_recv_task ( taskid number(10), title varchar2(200), ic number(10), ldc number(10), fax varchar2(64), sender1 varchar2(100), sender2 varchar2(30), receiver1 varchar2(100), receiver2 varchar2(30), faxfile varchar2(260), page number(10), recvtime number(10), recvflag number(10), deviceid varchar2(16), extinfo varchar2(200), ext1 number(10), ext2 number(10), memo varchar2(200), PRIMARY KEY (taskid) ); create sequence aofax_recv_task_seq start with 1 increment by 1 cache 5; create trigger aofax_recv_task_trigger before insert on aofax_recv_task for each row begin select aofax_recv_task_seq.nextval into :new.taskid from dual; end; commit;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服