




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
万能数据库查询分析器实现使用SQL语句直接高效地访问文本文件马根峰( 广东联合电子服务股份有限公司, 广州 510300)摘要 用SQL语句来直接访问文本文件?是在做梦吗?本文详细地介绍了“万能数据库查询分析器”,中文版本DB 查询分析器、英文版本DB Query Analyzer在 文本文件 处理方面非常强大的功能,你可以直接用SQL语句来访问这些文本文件,访问250万条记录的文件的复杂的关联操作,也不过用时59秒钟。需要注意的是,文本文件的第一行需要有列名。关键词 DB 查询分析器;DB Query Analyzer 1 引言 中国本土程序员马根峰推出的个人作品-万能数据库查询分析器,中文版本DB 查询分析器、英文版本DB Query Analyzer。万能数据库查询分析器集哈希技术、链表等多种数据结构于一体,使用先进系统开发技术,经历4年的研究、开发、测试周期后在2006年面世。之后7年来一直在进行不断地完善、升级,到目前为止,最新版本为5.04 。“万能数据库查询分析器”核心部分就具有长达5万多行代码的工作量,使得其具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件。你可以通过它查询ODBC数据源(包括世面上所有的数据库、TXT/CSV文件、EXCEL文件)的数据。你可以同时执行多条DML语句乃至存贮过程,结果会以你设定的表格、文本框、文件来返回。从数据库导出千万条数据时,效率与DBMS没有什么区别。本文将以5.04版本为例,详细阐述“万能数据库查询分析器”中文版本DB 查询分析器在 文本文件 处理方面非常强大的功能,你可以直接用SQL语句来访问这些文本文件,访问250万条记录的文件的复杂的关联操作,也不过用时59秒钟。要注意的是,文本文件的第一行需要有列名。2 产品获得的成就及发展历程 中文版本DB 查询分析器在中关村在线 下载量超过10万 多次,位居整个数据库类排行榜中前20位。在程序员2007第2期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。本期只点评了5个工具,分别是“Adobe Acrobat 8 中文版”、“迅雷搜索 1.7 新版上线”、“Google 桌面搜索 5.0 中文发布”、“BEA 发布 WebLogic SIP Server 3.0”和特别推荐“万能数据库查询分析器”发布。前面4个都是国内外大型软件公司的产品,只有“万能数据库查询分析器”是个人创作的软件。截止到2013年4月17日,在Baidu上搜索关键字万能数据库查询分析器,搜索结果达318万。在Baidu上搜索关键字DB 查询分析器、DB Query Analyzer,搜索结果分别在104万、16万左右;在Google上搜索“DB 查询分析器”、“DB Query Analyzer”,结果分别达104万、44万之多。本人撰写了关于“万能数据库查询分析器”有关技术的64篇文章,发布在电脑编程技巧与维护、软件、计算机时代、电脑编程技巧与维护、百度文库、CSDN资源、和本人的四大博客上(CSDN博客、新浪博客、QQ空间和搜狐博客上)。3 为何用DB 查询分析器来访问文本文件来解决实际问题在广东联合电子服务股份有限公司实施一张网的过程中,由于路段上传的流水存在大量的异常,导致按照正常的结算流程无法快速地进行路段的结算。因此,为了进行及时的结算,广东省高速公路公司授权先将异常流水进行忽略,后期再将这些流水进行上传、修改、拆分结算。最近,为了实施忽略流水的回传,本人做的第一步就是从忽略的流水中按照(流水只有在管理点存在、中心和管理点都存在)这两种情况,再按照流水金额小于0、等于0、大于0三类进行统计成台账(6个文件),然后业务组,再从这些分类批次(6个文件)中确认哪些批次需要回传(形成2 个文件, 流水大于0.csv 和 流水小于0.csv )。最终,本人还要根据这些这两个文件中是否“回传”,再从结算系统中根据复杂的逻辑,找出要回传的流水号并按照区域分成4个文件。在本次处理中,源处理文件:流水大于0.csv 、 流水小于0.csv 、tb_road、 管理点存在中心不存在的流水_所有.txt 和 管理点与中心都存在的部分_所有.txt 这5个文件。后两个文件是从结算系统数据库服务器中通过复杂的逻辑处理生成的中间结果文件。输出结果:要回传的流水号并按照区域分成4个文件。解决方案:因此,输入条件决定要么在结算数据库系统中建立 数据表 来完成条件的判断;要么将结果全部忽略的流水、需要关联的数据表(tb_road)导出成 .CSV/.TXT 文件,再使用DB 查询分析器强大、高效的 .CSV/.TXT 访问功能来实施整个回传流水文件的生成。 tb_road 表只是从生产机数据库中导出tb_road表就行了。图2 数据挖掘生成文本文件“管理点与中心都存在部分_所有.txt”4 5.04中文版本DB 查询分析器为例 下面我们就以“万能数据库查询分析器”的中文版本DB 查询分析器 5.04为例,以Windows 2000 Server操作系统为平台,先创建基于目录 “D:ODBC_TXT_CSV”中 .TXT/.CSV 文件的ODBC数据源 “odbc_txt_csv”,然后再通过 DB 查询分析器 5.04来访问这些目录下的文件。 操作系统: Windows 2000 Server操作系统 CPU:2.8 GHZ 单核内存:1GB 前台程序: DB 查询分析器 5.04 后台文件: .TXT/.CSV图3 创建基于 .CSV/.TXT 文件的ODBC数据源(一)图4 创建基于 .CSV/.TXT 文件的ODBC数据源(二)图5 登录odbc_txt_csv,不用输入用户名和口令图6 对象浏览器来查看数据源 odbc_txt_csv图7 Windows资源管理器中,ODBC数据源odbc_txt_csv对应的目录下所有的文件图8 用SQL语句来访问 .txt和 .csv文件,来生成各区域需要回传的流水图8中的复杂的SQL语句如下:select listno,2014-06-16from ( select distinct b.LISTNO,b.roadno -select count(*) as rec_num,sum(b.CASHMONEY)/100 as CASHMONEY,sum(b.ETCMONEY)/100 as ETCMONEY from ( select w.roadno,w.squaddate,w.roadname,w.outvehclass, sum(w.rec_count) as rec_count1,sum(w.cashmoney) as cashmoney1,sum(w.etcmoney) as etcmoney1 from ( select * FROM 流水大于0.csv where (备注 is null) and 回送标志=回送 and (cashmoney+etcmoney)0 union all select * FROM 流水小于0.csv where (备注 is null) and 回送标志=回送 and (cashmoney+etcmoney)0 ) w group by w.roadno,w.squaddate,w.roadname,w.outvehclass ) a,管理点与中心都存在部分_所有.txt b where ( (b.CASHMONEY+b.ETCMONEY)0 union all select * FROM 流水小于0.csv where (备注 is null) and 回送标志=回送 and (cashmoney+etcmoney)0 ) w group by w.roadno,w.squaddate,w.roadname,w.outvehclass ) a,管理点与中心都存在部分_所有.txt b where ( (b.CASHMONEY+b.ETCMONEY)0 ) and a.roadno=b.roadno and a.SQUADDATE=b.SQUADDATE and a.OUTVEHCLASS=b.OUTVEHCLASSNAME union select distinct b.LISTNO,b.roadno -select count(*) as rec_num,sum(b.CASHMONEY)/100 as CASHMONEY,sum(b.ETCMONEY)/100 as ETCMONEY from ( select w.roadno,w.squaddate,w.roadname,w.outvehclass, sum(w.rec_count) as rec_count1,sum(w.cashmoney) as cashmoney1,sum(w.etcmoney) as etcmoney1 from ( select * FROM 流水大于0.csv where (备注=只管理点存在) and 回送标志=回送 and (cashmoney+etcmoney)0 union all select * FROM 流水小于0.csv where (备注=只管理点存在) and 回送标志=回送 and (cashmoney+etcmoney)0 ) w group by w.roadno,w.squaddate,w.roadname,w.outvehclass ) a,管理点存在中心不存在的流水_所有.txt b where ( (b.CASHMONEY+b.ETCMONEY)0 union all select * FROM 流水小于0.csv where (备注=只管理点存在) and 回送标志=回送 and (cashmoney+etcmoney)0 ) w group by w.roadno,w.squaddate,w.roadname,w.outvehclass ) a,管理点存在中心不存在的流水_所有.txt b where ( (b.CASHMONEY+b.ETCMONEY)0 ) and a.roadno=b.roadno and a.SQUADDATE=b.SQUADDATE and a.OUTVEHCLASS=b.OUTVEHCLASSNAME ) www where roadno in (select roadno from tb_road.txt where areano=4407) 图9 一开始执行图8中的SQL语句时,本机CPU使用率立刻攀升至97%图10 生成中片区需要回传的流水文件,共有6万多条记录图11 从结算中心数据库中用挖掘生成的所有忽略的流水,两个文件共250多万条记录结论: 对于“交互式”这种数据处理的方式来说,将结果导出,用DB 查询分析器的强大、高效的文本文件的处理功能来分析处理,也是一种不错的选择。并且DB 查询分析器的效率非常之高、处理非常方便,可以将源文件当成一个数据库中的数据表一样用标准SQL语句来进行访问。 本人的PC机只不过内存1GB的2005年的DELL 台式PC机,对250万条记录的文件进行关联访问的时候,也只是用不到59秒的时间就生成了一个区域的结果文件,期间CPU使用率高达97% 。5 本人撰写的关于“万能数据库查询分析器”的64 篇技术文章 目前以下6篇文章发布几个国内计算机刊物上:1 马根峰 DB Query Analyzer中断SQL语句的执行 杭州:计算机时代,2011年第12期2 马根峰 DB 查询分析器 批量执行DML语句并返回更详细的信息 北京:电脑编程技巧与维护,2011年第24期3 马根峰 DB Query Analyzer中的事务管理在DB2中的应用 北京:电脑编程技巧与维护,2011年第22期4 马根峰 DB 查询分析器中断SQL语句的执行 天津:软件,2011年第6期5 马根峰 万能数据库查询分析器中的事务管理在Oracle中的应用 上海:微型电脑应用,2011年第11期 6 马根峰 新产品&工具点评 特别推荐:“万能数据库查询分析器”发布 程序员,2007年2期以下58篇文章发布在百度文库、CSDN资源、和本人的四大博客上:万能数据库查询分析器使用技巧之(一)直到万能数据库查询分析器使用技巧之(十三)共13篇The 1st tip of DB Query Analyze直到The 13th skills of DB Query Analyzer共13篇如何在客户端配置ODBC来访问远程DB2 for Windows服务器How to configure ODBC DSN in Client to access remote DB2 for Windows如何在服务器上配置ODBC来访问本机DB2 for Windows服务器How to configure ODBC DSN to access local DB2 for Windows软件开发顶尖高手的杀手锏SQL语句Which SQL statement is the trump card to the senior software developerDB 查询分析器批量执行DML语句并返回更详细的信息用“万能数据库查询分析器”测试SQLite对4大SQL精髓语句的支持用“DB查询分析器”的对象浏览器来展现数据库的数据字典万能数据库查询分析器用户已基本涵盖当前所有数据库系统The DBMS that DB Query Analyzer Users often use cover all kinds of DBMS查询分析器应必须具备的功能-中断查询的执行万能数据库查询分析器的EXE文件加壳技术Exe packer prevent DB Query Ana
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南常德市安乡县教育局公开选调工作人员52人模拟试卷及答案详解(名师系列)
- 2025辽宁鞍山立山区教育局招聘2人模拟试卷及1套参考答案详解
- 2025湖南师范大学科创港校区规划建设指挥部劳务派遣人员招聘5人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025年安徽工业职业技术学院人才引进7人考前自测高频考点模拟试题附答案详解(典型题)
- 2025年春季中国邮政储蓄银行合肥市分行校园招聘模拟试卷及答案详解1套
- 2025北京航空航天大学校医院聘用编B超医生及检验师F岗招聘3人考前自测高频考点模拟试题及完整答案详解
- 2025年芜湖市第三城市医疗集团成员单位招聘15人模拟试卷及参考答案详解1套
- 2025北京市海淀区中关村第二小学科学城北区分校招聘模拟试卷带答案详解
- 2025河南洛阳市洛宁县招聘看护队伍工作人员45人模拟试卷完整参考答案详解
- 2025贵州黄平县中医医院医共体单位纸房乡卫生院招聘2名护理人员考前自测高频考点模拟试题及参考答案详解
- 中医课题申报书的范文怎么写
- 五粮液企业文化知识竞赛题及答案
- 羽毛球起源教学课件
- 2025年公基常识题及答案
- 诺如病毒胃肠炎诊疗方案(2025年版)解读学习课件
- 2025年地方AMC行业研究报告及未来行业发展趋势预测
- 农业综合行政执法大比武试题库(试题及答案)
- 2025年零碳园区发展白皮书-荣续ESG智库
- 国企新员工入职纪检培训
- 《模拟电子技术》课件第4章场效应管及其基本放大电路
- 边境守护者边境管控信息化平台建设方案分析
评论
0/150
提交评论