AOFAX服务器数据库开发接口说明3612.docx
AOFAAX服务务器数据据库开发发接口说说明一、接口口概述AOFAAX数据据库接口口是为满满足企业业更多收收发传真真方式的的一种扩扩展机制制,实现现了AOOFAXX传真系系统与企企业应用用系统(如如ERPP、MIIS、OOA办公公等)之之间的交交互和集集成,从从而达到到扩展和和自定义义企业收收发传真真模式的的目的。AOFAAX数据据库接口口系统由由企业应应用服务务器、中中间数据据库以及及AOFFAX传传真服务务器组成成,结构构如下图图所示:接口实现现了传真真的收发发功能,收收发过程程如下:发送传真真:企业业应用系系统将待待发送的的传真任任务信息息写入中中间数据据库系统统,AOOFAXX传真服服务器从从中间数数据库读读取发送送任务,转转换后提提交发送送,发送送完成后后将发送送结果回回写到中中间数据据库,企企业应用用系统从从数据库库中读取取发送结结果并进进行后续续处理。接收传真真:AOOFAXX传真服服务器收收到新传传真后,自自动将传传真信息息写入到到中间数数据库系系统,企企业应用用系统从从中间数数据库读读取接收收传真信信息并进进行后续续处理。二、系统统部署1、准备备软硬件件环境:传真服务务器:AAOFAAX企业业型、服服务器型型。数据库系系统:MMySQQL、SSQL Serrverr、Orraclle等数数据库系系统。企业应用用系统:确保系系统运作作正常,并并支持相相应数据据库系统统的存取取操作。2、配置置数据库库:在已正常常运作的的数据库库系统中中创建所所需的接接口数据据库和接接口表:发送任任务表(aaofaax_ssendd_taask)、接接收任务务表(aaofaax_rrecvv_taask)。表表结构和和创建脚脚本参考考后续说说明。3、创建建ODBBC数据据源:在AOFFAX传传真服务务器上创创建相应应接口数数据库的的ODBBC数据据源DSSN项,并并确保连连接测试试成功。4、配置置AOFFAX传传真服务务器:启动AOOFAXX传真系系统,在在AOFFAX管管理器“工具”->“选项”菜单的的“系统选选项”对话框框中的“扩展任任务”属性页页中,选选择“启用扩扩展任务务调度”和“启用数数据库接接口收发发传真”,并输输入正确确的DSSN、UUID和和PWDD信息,确确保连接接测试成成功。三、开发发说明1、发送送传真:在AOFFAX传传真服务务器上创创建临时时文件夹夹(如CC:ffSenndFaax),用用以保存存企业应应用软件件提交的的待发送送传真的的文档(文文档格式式参考下下面说明明)。企业用户户在企业业应用软软件(如如ERPP、OAA办公管管理等)中中发送传传真时,发发送界面面中需要要把要发发送传真真的相关关信息体体现出来来,主要要包括收收发件人人名、区区号、传传真号码码、要发发送的文文档名等等信息。在在提交发发送时把把这些信信息保存存到中间间数据库库的AOOFAXX发送任任务表(aaofaax_ssendd_taask)中中,同时时把要发发送传真真的文档档提交到到AOFFAX传传真服务务器上的的临时文文件夹中中,即上上述在AAOFAAX传真真服务器器上创建建的临时时文件夹夹(注意意,在填填写发送送文档路路径字段段时,要要填写绝绝对路径径,例如如:AOOFAXX传真服服务器上上新建的的临时文文件夹为为“C:fSeendFFax”,提交交的待发发送的文文档名称称为“abcc.dooc”,则在在填写发发送任务务表的“senndfiile”字段时时,应填填写“C:fSeendFFaxabcc.dooc”)。文档提交交以后,AAOFAAX传真真服务器器定时扫扫描发送送任务表表,如果果有待发发送的文文档,将将自动读读出发送送任务信信息、转转换并完完成发送送,同时时把发送送结果回回写到发发送任务务表中。如果企业业用户要要安装AAOFAAX传真真客户端端,请安安装AOOFAXX企业型型或服务务器型中中的客户户端软件件即可。2、接收收传真:AOFAAX传真真服务器器在接收收到新传传真后,自自动把传传真相关关信息保保存到中中间数据据库的接接收任务务表(aaofaax_rrecvv_taask)中中,用户户可以通通过读取取接收任任务表中中的内容容来查看看接收到到的传真真文件和和传真信信息。传传真文件件默认以以TIFF格式保保存在AAOFAAX传真真服务器器软件安安装目录录下的用用户数据据目录中中。3、文档档格式:所有通过过数据库库接口提提交的待待发送传传真文档档,都是是在AOOFAXX传真服服务器端端转换成成传真格格式文件件(.ssfx)的的,因此此,如果果要发送送某种格格式的文文档时,这这种格式式的浏览览器或编编辑软件件必须安安装在AAOFAAX传真真服务器器上,比比如常用用的OFFFICCE软件件等等。能实现自自动转换换的常用用格式有有:.ddoc、.xlss、.ttxt、.pdff、.wwri等等。另外外有些软软件不支支持自动动转换功功能,如如WPSS等,即即使安装装了这种种格式的的软件,也也不能实实现自动动发送。同同时建议议提交的的文档不不要感染染病毒,不不要有密密码等。四、数据据库表结结构发送传真真任务表表表名:aaofaax_ssendd_taask字段名类型长度(字字节)说明taskkidINTEEGERR4任务IDD,主键键,自增增长titlleVARCCHARR200传真主题题icINTEEGERR4国际区号号(必填填,如886,即即时传真真时填00)ldcINTEEGERR4长途区号号(必填填,如7755,即即时传真真或没有有长途区区号时填填0)faxVARCCHARR64传真号码码(发送送有线传传真时必必填,如如8322351170)accoounttVARCCHARR20傲发帐号号(发送送即时传传真时必必填,如如AF99000000999)sendder11VARCCHARR100发件人11,标识识传真发发件人,如如公司名名sendder22VARCCHARR30发件人22,标识识传真发发件人,如如人名等等receeiveer1VARCCHARR100收件人11,标识识传真收收件人,如如公司名名receeiveer2VARCCHARR30收件人22,标识识传真收收件人,如如人名等等senddfilleVARCCHARR500待发送文文件名(必必填,绝绝对路径径),多多个文件件之间用用“|”相隔(例例如:“C:faxx1.ttxt|D:faxx2.ttxt”)senddflaagINTEEGERR4发送标志志(必填填):0:普通通发送1:优先先发送(排排到当前前发送队队列的首首部)lineeINTEEGERR4选择线路路(必填填):0:自动动调度(先先尝试即即时传真真,失败败后由电电话线发发送)1:仅电电话线发发送(ffax不不能为空空)2:仅即即时传真真发送(aaccoountt不能为为空)stattusINTEEGERR4任务状态态:0:提交交(等待待转换)1:发送送(已转转换并排排队发送送)2:成功功(传真真发送成成功)3:失败败(传真真发送失失败)4:取消消(传真真发送被被取消)添加新任任务时固固定填写写为0,发发送完成成后状态态由系统统回写extiinfooVARCCHARR200扩展信息息retccodeeINTEEGERR4结果码,发发送完成成后由系系统回写写senddtimmeINTEEGERR4发送时间间(标准准C ttimee_t格格式,从从19770年11月1日日0时00分0秒秒开始计计算的秒秒数),发发送完成成后由系系统回写写faxffileeVARCCHARR260转换后传传真文件件名(TTIF格格式,绝绝对路径径),发发送完成成后由系系统回写写reseervee1INTEEGERR4保留字段段1,固固定填00 reseervee2INTEEGERR4保留字段段2,固固定填00ext11INTEEGERR4扩展字段段1,固固定填00ext22INTEEGERR4扩展字段段2,固固定填00memooVARCCHARR200备注接收传真真任务表表表名:aaofaax_rrecvv_taask字段名类型长度(字字节)说明taskkidINTEEGERR4任务IDD,主键键,自增增长titlleVARCCHARR200传真主题题icINTEEGERR4国际区号号(发送送方)ldcINTEEGERR4长途区号号(发送送方)faxVARCCHARR64传真号码码(发送送方传真真号码,即即时传真真时为“传真号号码/傲傲发号”,如“88323351770/AAF90000000999”)sendder11VARCCHARR100发件人11,标识识传真发发件人,如如公司名名sendder22VARCCHARR30发件人22,标识识传真发发件人,如如人名等等receeiveer1VARCCHARR100收件人11,标识识传真收收件人,如如公司名名、部门门等receeiveer2VARCCHARR30收件人22,标识识传真收收件人,如如人名、分分机号等等faxffileeVARCCHARR260传真文件件名(绝绝对路径径,TIIF格式式)pageeINTEEGERR4传真页数数recvvtimmeINTEEGERR4接收时间间(标准准C ttimee_t格格式,从从19770年11月1日日0时00分0秒秒开始计计算的秒秒数)recvvflaagINTEEGERR4接收标志志:0:电话话线传输输方式1:即时时传真传传输方式式deviiceiidVARCCHARR16传真机SSN码,主主要用在在多路的的情况下下标识传传真是从从哪台33G-FFAX接接收extiinfooVARCCHARR200扩展信息息ext11INTEEGERR4扩展字段段1,固固定为00ext22INTEEGERR4扩展字段段2,固固定为00memooVARCCHARR200备注五、SQQL脚本本参考1、MyySQLL:DROPP TAABLEE IFF EXXISTTS aaofaax_rrecvv_taask;CREAATE TABBLE aoffax_reccv_ttaskk ( taaskiid iint(10) unnsiggnedd NOOT NNULLL AUUTO_INCCREMMENTT, tiitlee vaarchhar(2000) DDEFAAULTT NUULL, icc innt(110) unssignned DEFFAULLT NNULLL, lddc iint(10) unnsiggnedd DEEFAUULT NULLL, faax vvarccharr(644) DDEFAAULTT NUULL, seendeer1 varrchaar(1100) DEEFAUULT NULLL, seendeer2 varrchaar(330) DEFFAULLT NNULLL, reeceiiverr1 vvarccharr(1000) DEFFAULLT NNULLL, reeceiiverr2 vvarccharr(300) DDEFAAULTT NUULL, faaxfiile varrchaar(2260) DEEFAUULT NULLL, paage intt(100) uunsiigneed DDEFAAULTT NUULL, reecvttimee innt(110) unssignned DEFFAULLT NNULLL, reecvfflagg innt(110) unssignned DEFFAULLT NNULLL, deevicceidd vaarchhar(16) DEEFAUULT NULLL, exxtinnfo varrchaar(2200) DEEFAUULT NULLL, exxt1 intt(100) uunsiigneed DDEFAAULTT NUULL, exxt2 intt(100) uunsiigneed DDEFAAULTT NUULL, meemo varrchaar(2200) DEEFAUULT NULLL, PRRIMAARY KEYY (ttaskkid), UNNIQUUE KKEY tasskidd (ttaskkid) ENNGINNE=MMyISSAM AUTTO_IINCRREMEENT=2000 DEEFAUULT CHAARSEET=llatiin1;DROPP TAABLEE IFF EXXISTTS aaofaax_ssendd_taask;CREAATE TABBLE aoffax_sennd_ttaskk ( taaskiid iint(10) unnsiggnedd NOOT NNULLL AUUTO_INCCREMMENTT, tiitlee vaarchhar(2000) DDEFAAULTT NUULL, icc innt(110) unssignned DEFFAULLT NNULLL, lddc iint(10) unnsiggnedd DEEFAUULT NULLL, faax vvarccharr(644) DDEFAAULTT NUULL, acccouunt varrchaar(220) DEFFAULLT NNULLL, seendeer1 varrchaar(1100) DEEFAUULT NULLL, seendeer2 varrchaar(330) DEFFAULLT NNULLL, reeceiiverr1 vvarccharr(1000) DEFFAULLT NNULLL, reeceiiverr2 vvarccharr(300) DDEFAAULTT NUULL, seendffilee vaarchhar(5000) DDEFAAULTT NUULL, seendfflagg innt(110) unssignned DEFFAULLT NNULLL, liine intt(100) uunsiigneed DDEFAAULTT NUULL, sttatuus iint(10) unnsiggnedd DEEFAUULT NULLL, exxtinnfo varrchaar(2200) DEEFAUULT NULLL, reetcoode intt(100) uunsiigneed DDEFAAULTT NUULL, seendttimee innt(110) unssignned DEFFAULLT NNULLL, faaxfiile varrchaar(2260) DEEFAUULT NULLL, reeserrve11 innt(110) unssignned DEFFAULLT NNULLL, reeserrve22 innt(110) unssignned DEFFAULLT NNULLL, exxt1 intt(100) uunsiigneed DDEFAAULTT NUULL, exxt2 intt(100) uunsiigneed DDEFAAULTT NUULL, meemo varrchaar(2200) DEEFAUULT NULLL, PRRIMAARY KEYY (ttaskkid), UNNIQUUE KKEY tasskidd (ttaskkid) ENNGINNE=MMyISSAM AUTTO_IINCRREMEENT=3 DDEFAAULTT CHHARSSET=lattin11;2、SQQL SServver:if eexissts (seelecct * frrom dboo.syysobbjeccts wheere id = oobjeect_id(N'aoffax_sennd_ttaskk') annd OOBJEECTPPROPPERTTY(iid, N'IIsUsserTTablle') = 1)dropp taablee aaofaax_ssendd_taaskGOif eexissts (seelecct * frrom dboo.syysobbjeccts wheere id = oobjeect_id(N'aoffax_reccv_ttaskk') annd OOBJEECTPPROPPERTTY(iid, N'IIsUsserTTablle') = 1)dropp taablee aaofaax_rrecvv_taaskGOCREAATE TABBLE aoofaxx_seend_tassk(taskkidintt IIDENNTITTY (1, 1) PRIIMARRY KKEY CLLUSTTEREED NNOT NULLL,titllevvarccharr(2200) NOOT NNULLL DEEFAUULT (0),iciint NOOT NNULLL DEEFAUULT (0),ldcintt NNOT NULLL DDEFAAULTT (00),faxvarrchaar(64) NOOT NNULLL DEEFAUULT (0),accoounttvaarchhar(200) NNOT NULLL DDEFAAULTT (00),sendder11vaarchhar(1000) NOTT NUULL DEFFAULLT (0),sendder22vaarchhar(300) NNOT NULLL DDEFAAULTT (00),receeiveer1varrchaar(1000) NNOT NULLL DDEFAAULTT (00),receeiveer2varrchaar(30) NOOT NNULLL DEEFAUULT (0),senddfillevvarccharr(5500) NOOT NNULLL DEEFAUULT (0),senddflaagiint NOOT NNULLL DEEFAUULT (0),lineeinnt NOTT NUULL DEFFAULLT (0),stattusintt NNOT NULLL DDEFAAULTT (00),extiinfoovaarchhar(2000) NOTT NUULL DEFFAULLT (0),retccodeeinnt NOTT NUULL DEFFAULLT (0),senddtimmeiint NOOT NNULLL DEEFAUULT (0),faxffileevaarchhar(2660) NOTT NUULL DEFFAULLT (0),reseervee1iint NOOT NNULLL DEEFAUULT (0),reseervee2iint NOOT NNULLL DEEFAUULT (0),ext11innt NOTT NUULL DEFFAULLT (0),ext22innt NOTT NUULL DEFFAULLT (0),memoovaarchhar(2000) NOTT NUULL DEFFAULLT (0),) ONN PPRIMMARYYGOCREAATE TABBLE aoofaxx_reecv_tassk (taskkidintt IIDENNTITTY (1, 1) PRIIMARRY KKEY CLLUSTTEREED NNOT NULLL,titllevvarccharr(2200) NOOT NNULLL DEEFAUULT (0),iciint NOOT NNULLL DEEFAUULT (0),ldcintt NNOT NULLL DDEFAAULTT (00),faxvarrchaar(64) NOOT NNULLL DEEFAUULT (0),sendder11vaarchhar(1000) NOTT NUULL DEFFAULLT (0),sendder22vaarchhar(300) NNOT NULLL DDEFAAULTT (00),receeiveer1varrchaar(1000) NNOT NULLL DDEFAAULTT (00),receeiveer2varrchaar(30) NOOT NNULLL DEEFAUULT (0),faxffileevaarchhar(2660) NOTT NUULL DEFFAULLT (0),pageeinnt NOTT NUULL DEFFAULLT (0),recvvtimmeiint NOOT NNULLL DEEFAUULT (0),recvvflaagiint NOOT NNULLL DEEFAUULT (0),deviiceiidvvarccharr(116) NOTT NUULL DEFFAULLT (0),extiinfoovaarchhar(2000) NOTT NUULL DEFFAULLT (0),ext11innt NOTT NUULL DEFFAULLT (0),ext22innt NOTT NUULL DEFFAULLT (0),memoovaarchhar(2000) NOTT NUULL DEFFAULLT (0),) ONN PPRIMMARYYGO2、Orraclle:dropp trriggger aoffax_sennd_ttaskk_trriggger;dropp seequeencee aoofaxx_seend_tassk_sseq;dropp taablee aoofaxx_seend_tassk;dropp trriggger aoffax_reccv_ttaskk_trriggger;dropp seequeencee aoofaxx_reecv_tassk_sseq;dropp taablee aoofaxx_reecv_tassk;CREAATE TABBLE aoffax_sennd_ttaskk (taskkidnnumbber(10),titllevaarchhar22(2000),icnuumbeer(110),ldcnnumbber(10),faxvvarccharr2(664),accoounttvarrchaar2(20),sendder11varrchaar2(1000),sendder22varrchaar2(30),receeiveer1vvarccharr2(1100),receeiveer2vvarccharr2(330),senddfillevaarchhar22(5000),senddflaagnuumbeer(110),lineenummberr(100),stattusnnumbber(10),extiinfoovarrchaar2(2000),retccodeenummberr(100),senddtimmenuumbeer(110),faxffileevarrchaar2(2600),reseervee1nuumbeer(110),reseervee2nuumbeer(110),ext11nummberr(100),ext22nummberr(100),memoovarrchaar2(2000),PRIMMARYY KEEY (tasskidd);creaate seqquennce aoffax_sennd_ttaskk_seeq sstarrt wwithh 1 inccremmentt byy 1 cacche 5;creaate triiggeer aaofaax_ssendd_taask_triiggeer befoore inssertt onn aoofaxx_seend_tassk for eacch rrow begiin seleect aoffax_sennd_ttaskk_seeq.nnexttvall innto :neew.ttaskkid froom dduall;end;CREAATE TABBLE aoffax_reccv_ttaskk (taskkidnnumbber(10),titllevaarchhar22(2000),icnuumbeer(110),ldcnnumbber(10),faxvvarccharr2(664),sendder11varrchaar2(1000),sendder22varrchaar2(30),receeiveer1vvarccharr2(1100),receeiveer2vvarccharr2(330),faxffileevarrchaar2(2600),pageenummberr(100),recvvtimmenuumbeer(110),recvvflaagnuumbeer(110),deviiceiidvaarchhar22(166),extiinfoovarrchaar2(2000),ext11nummberr(100),ext22nummberr(100),memoovarrchaar2(2000),PRIMMARYY KEEY (tasskidd);creaate seqquennce aoffax_reccv_ttaskk_seeq sstarrt wwithh 1 inccremmentt byy 1 cacche 5;creaate triiggeer aaofaax_rrecvv_taask_triiggeer befoore inssertt onn aoofaxx_reecv_tassk for eacch rrow begiin seleect aoffax_reccv_ttaskk_seeq.nnexttvall innto :neew.ttaskkid froom dduall;end;commmit;