资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
自动生成小层地质数据库张国辉,刘维林,牛翠芬(黑龙江省 大庆市 163412 测井一公司数解中心)摘要:大庆油田小层地质数据库是采油厂重要的成果数据库,是开发规划编制、开发方案编制等科研生产的依据。因此,它的准确程度直接关系到开发分析和油田预测等各项研究结果,GeoSpace测井解释软件平台使用的数据底层是SQL Server 2000数据库,用户使用的成果数据库是FoxPro数据库,通过ODBC技术实现跨数据库的数据交换,从而完美解决这一问题.关键字:小层地质数据库 GeoSpace ODBC FoxproThe Automatic Generation of Thin Geology DataBaseZhangguohui liuweilin niucuifen (Log Interpretation Center of The No.1 WireLine Logging Company , Daqing ,Heilongjiang,163412,China)Abstract:The Thin geology database of DaQing oil field is more valuable property.It is the basis that the development of Planning, development programming, research and production and so on. Therefore, it is directly related to the accuracy of the development analysis and forecasts of the oil field research findings, GeoSpace logging explain platform uses SQL Server 2000 database,but clients use FoxPro database.Through the ODBC technology, GeoSpace platform realizes the cross database data exchange.Then solve this problem perfectly.0、 前言Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,优点是简单方便.GeoSpace2.0微机版软件平台是大庆测井公司近年来的一项重要的科研成果,它的数据底层采用SQL Server 2000数据库,采用C/S体系结构,并提供了测井数据、地质数据、解释参数、解释结论等多种复杂的数据类型接口. 利用目前最流行的Visual C+语言,选定ODBC技术作为动态连接FoxPro数据库的核心技术;利用解释软件平台的面向对象的可视化操作的交互处理能力,将解释结果自动生成小层数据库,将我们自己成熟的特色技术形成应用模块集成到软件平台上从而达到处理解释的一体化。该项技术目前在采油一厂,采油二厂全面应用, 自动建库准确率为100%。1、 ODBC技术简介ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。图1通过ODBC技术,我们可以使原本不擅长于数据库操作的Visual C+编程语言灵活地操控数据库,充分优化和提高应用程序的执行速度。2、 MFC提供的ODBC数据库类MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎, 与vc+捆绑使用可以提高某些情况下的开发效率。VisualC+的MFC基类库定义了几个数据库类。在利用ODBC编程时,经常要使用到数据库类CDatabase和记录集类CRecordSet。CDatabase类提供了对数据源的连接,通过它可以对数据源进行操作。CRecordSet类提供了从数据源中提取出的记录集。CRecordSet对象通常用于两种形式:动态行集(dynasets)和快照集(snapshots)。动态行集能保持与其他用户所做的更改保持同步。快照集则是数据的一个静态视图。每一种形式在记录集被打开时都提供一组记录,所不同的是,当你在一个动态行集里滚动到一条记录时,由其他用户或是你应用程序中的其他记录集对该记录所做的更改会相应地显示出来。3、 小层地质数据库编程实例3.1首先通过MFC类根据已知的地质数据库表(这里我们以夹层库xc为例)自动生成库结构的头文件:(DataBaseSet8.h)部分代码:class CDataBaseSet8 : public CRecordsetpublic:CDataBaseSet8(CDatabase* pDatabase = NULL);DECLARE_DYNAMIC(CDataBaseSet8)/ Field/Param Data/AFX_FIELD(CDataBaseSet8, CRecordset)CStringm_xcxh; /小层序号CStringm_jh; /井号CStringm_yczmc;/油层组名称 CStringm_xfch; /细分层号CStringm_jcxh; /夹层序号CStringm_jcds; /夹层顶深CStringm_jchd; /夹层厚度CStringm_jclx; /夹层类型/AFX_FIELD#ifdef _DEBUGvirtual void AssertValid() const;virtual void Dump(CDumpContext& dc) const;#endif;夹层库共由八个字段组成,在主程序中加入这个头文件就可以利用MFC类提供的数据库操作命令实现数据库的连接,记录的读写、插入、修改等数据库操作。小层数据库操作同夹层数据库操作。3.2、在DataBaseSet8.cpp文件中,添加头文件#include ODBCinst.h/连接ODBC有关的类#include common.h/连接GeoSpace软件平台3.3 在DataBaseSet8.cpp文件中修改GetDefaultConnect()函数部分代码:DSN=MYVFPDB0Description=VFP for GeoSpace System0SourceType=DBF0SourceDB=D:DateBase070320) Output(连接数据库成功!);TRYOutput(m_pDatabase-GetConnect();CATCH(CDBException, e)Output(e-m_strError);END_CATCHelseOutput(打开数据库失败!);return _T(ODBC;DSN=MYVFPDB);用同样的方法生成采油厂需要的daa05、xc等小层数据库。生成的数据库可以是重新创建,也可插入到已知小层数据库中4、 应用效果程序界面(图2)经过计算处理,计算生成的成果曲线保存到SQL Server 2000数据库中,见下图(图3)应用程序生成解释参数库,在FoxPro数据库中新建一个数据表,将解释结论存到FoxPro数据库中。图3并可将生成的文件表(DBF文件)与绘图系统相连接,做到小层号随层显示。(图4)小层号随层显示油层组深度图45、 结论该软件目前在采油一厂,采油二厂处理生产井1500余口,解释结果直接进库提高了建库的精度和解释结果的可靠性,准确率达到100%;为静态地质建模、射孔方案建立等提供更加科学、合理的解释数据,广泛得到用户的好评!参考文献1 孙鑫、余安萍.VC+深入详解.中国电子工业出版社 20082 姚领田.精通MFC程序设计.北京.科学出版社,20043 程学先等.数据库原理与技术.中国水利水电出版社 20014 美 David J. Kruglinski、Scot Wingo、George Shepherd . 希望图书创作室译.Visual C+ 6.0 技术内幕 第五版.北京希望电子出版社 1998
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号