三层结构二代身份证资料管理系统实现方法技术方案

技术编号:2834386 阅读:345 留言:0更新日期:2012-04-11 18:40
三层结构二代身份证资料管理系统实现方法:在开发客户端程序时利用对象链接和嵌入用户控件ocx驱动读卡器工作获取二代身份中的身份证资料。对象链接和嵌入用户控件ocx的调用,采用Windows系统提供的函数api调用动态库的方式进行调用。且对象链接和嵌入用户控件ocx的名称作为参数配置在配置文件中。本发明专利技术使ocx控件和客户端程序松耦合,同一套程序和不同的ocx能更灵活的结合实施,使同样的程序在不同的ocx环境中实施更加方便快捷。图像文件在传输中也能保证和业务逻辑的同步性连续性。图像文件保存在数据库中,能利用数据库的优势进行管理。

【技术实现步骤摘要】

本专利技术涉及数据库管理的方法,尤其是身份证资料管理系统的实现方法。二、
技术介绍
对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用 软件创建使用的特殊用途的程序。OCX提供操作滚动条移动和视窗恢复尺寸的功能。(OLE)被设计来支持混合文档(包含多种资料类型,比如文本、绘画图像、声音、动画)。 Windows桌面就是一个混合文档的范例,微软使用OLE来建立的。OLE和组件对象模型(COM继OLE后的更常用的概念)支持即插即用程序的发展,即插即用程序在系统中 可以用任何语言写入并可以由任何应用程序动态地使用。这些程序被认为是他们在其上运 行的container的组建和应用程序。这种基于组件的近似应用程序的发展縮减了程序调试 时间并改善了程序的性能和品质。Windows应用发展程序(比如PowerBuilder和Microsoft Access)具有OCX的优势。现有的三层结构二代身份证资料管理系统,主要实现的功能有三点1、 调用OCX,驱动读卡器获取二代身份证信息;2、 将二代身份证信息(包括头像图像文件)传输到中间层;3、 从中间层将二代身份证信息保存到数据库中 目前常用的方法在开发客户端程序时先将驱动读卡器工作的ocx作为控件安装在C++Builder中,然 后再用控件驱动读卡器工作获取二代身份中的身份证资料。客户端获得身份证的资料后,采取FTP方式将头像数据传输到中间层。 头像文件按文件的形式保存在unix文件系统中。按照上面方法开发,开发速度较快,实现不灵活,可扩展性连续性不强。 将ocx作为控件进行开发,ocx和客户端程序紧耦合。同样的程序换一个环境实施,改动量较大,程序基本需要重新开发。采用FTP的方式在客户端和中间层进行头像数据的传输。因为ftp方法经常采用操作系统提供的ftp功能,所以数据传输和其后续业务连续性不强。不方便在数据传输之后立即进行资料的存储等其他相关的操作。头像文件以文件的方式保存在unix文件系统中,不方便进行有效的管理査询等操作。三、
技术实现思路
本专利技术目的是为了解决目前常用方案中的不足;为了使驱动读卡器工作的OCX与客户端C++Builder程序松耦合,方便更换0CX;为了保证数据传输和业务的连续性;为了图象文件的更有效的管理。本专利技术技术解决方案是在开发客户端程序时利用对象链接和嵌入用户控件ocx驱动读卡器工作获取二代身份中的身份证资料。 对象链接和嵌入用户控件ocx的调用,采用Windows系统提供的函数api调用动态库的方 式进行调用。OCX的名称可以作为参数配置在配置文件中。只需要修改配置文件和调用程序中驱动 读卡器的函数声明,就可以很容易的针对ocx的变化进行重新实现。关于图象文件的传输。采用tuxedo中的CARRAY类型变量,将二进制文件读入内存 赋值给CARRAY类型的变量,并进行传输。中间层服务器端程序获取CARRAY类型变量, 并进行后续的业务处理。关于图象文件的保存。采用Oracle数据库提供的oci调用,将二进制文件保存到数据 库表的BLOB类型的字段中。査询时,再将表BLOB字段中的内容生成文件,进行展示。本专利技术有益效果使ocx控件和客户端程序松耦合,同一套程序和不同的ocx能更 灵活的结合实施,使同样的程序在不同的ocx环境中实施更加方便快捷。图象文件在传输 中也能保证和业务逻辑的同歩性连续性。图象文件保存在数据库中,能利用数据库的优势 进行管理。四具体实施方式下面分三个部分具体介绍相关技术中使用的方法。1) OCX的调用中涉及到的相关方法〃定义OCX句柄HINSTANCE hOcxLibrary; 〃力口载OCXhOcxLibrary = LoadLibrary(readcard.ocx);〃这里的ocx名称可以从配置文件中获取〃加载失败if(! hOcxLibrary)return false; 〃出错处理 〃注册OCX DllRegisterServer = (int (一stdcall承)(void))GetProcAddress(hOcxLibrary,DllRegisterServer); if(!DURegisterServer)return false; 〃出错处理 〃注册失败if(FAILED(DURegisterServer()))return false; 〃出错处理 〃释放OcxFreeLibrary(hOcxLibrary);2) 图象文件传输中用到的相关方法客户端程序char * pBuff; 〃要传输的图象文件bufferint iSize; 〃计算出要传输内容的大小;SndBuf=(FBFR32 *)tpalloc(FML32,NULL,iSize); /*申请发送的缓存*/Fchg( m— SndBuf, Fldid(Photo,,), 0, (char *)pBuff, (FLDLEN) iSize );iRet = tpcaU(TransSvc,(char *)SndBuf,0L,(char **)&RcvBuf,(long *)& iSize,OL);服务器端程序long lphotoLen=Flen((Fbfr32 *)InBuf,Fldid(PHOTO),0); char * pchPhoto = new char[lphotolxn];Fget(InBuf, Fldid(Photo), 0, (char *) pchPhoto, (FLDLEN*)0 ); 3)图象文件保存到数据库中用到的相关方法 OCILobLocator *blobphot05(void) OCIDescriptorAlloc((dvoid *)envhp, (dvoid **)&lobphoto,(ub4)OCI一DTYPE一LOB, (size一t)O, (dvoid **)0);OCILobCreateTemporary(svchp,errhp,lobphoto, (ub2)OCI—DEFAULT,(ubl)OCI—DEFAULT,OCI_TEMP—BLOB ,FALSE,OCI—DURATION—SESSION);OCILobWrite(svchp, errhp, lobphoto, &amtPhoto,l, (dvoid *) pchPhoto, (ub4) lphotoLen, OCI_ONE_PIECE, (dvoid *)0, (sb4 (*)(dvoid *, dvoid *, ub4 *, ubl *)) 0, (ub2) 0, (ubl) SQLCS—IMPLICIT); ….〃insert操作...〃査询操作....OCILobGetLength(svchp, errhp, blobphoto, (ub4 &lphotolen); OCILobRead(svchp, errhp, blobphoto, &amtp,(ub4) 1, (dvoid *) pchPhoto, (ub4) lphotolen, (dvoid *)0, (sb4 (*)(dvoid *, CONST dvoid *, ub4,本文档来自技高网
...

【技术保护点】
三层结构二代身份证资料管理系统实现方法:其特征是在开发客户端程序时利用对象链接和嵌入用户控件ocx驱动读卡器工作获取二代身份中的身份证资料,对象链接和嵌入用户控件ocx的调用,采用Windows系统提供的函数api调用动态库的方式进行调用。

【技术特征摘要】
1、三层结构二代身份证资料管理系统实现方法其特征是在开发客户端程序时利用对象链接和嵌入用户控件ocx驱动读卡器工作获取二代身份中的身份证资料,对象链接和嵌入用户控件ocx的调用,采用Windows系统提供的函数api调用动态库的方式进行调用。2、 根据权利要求1所述的身份证资料管理系统实现方法其特征是对象链接和嵌入 用户控件ocx的名称作为参数配置在配置文件中。3、 根据权利要求1所述的身份证资料管理系统实现方法其特征是图象文件的传输...

【专利技术属性】
技术研发人员:唐治
申请(专利权)人:南京联创科技股份有限公司
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1