基于数据库的应用程序.doc_第1页
基于数据库的应用程序.doc_第2页
基于数据库的应用程序.doc_第3页
基于数据库的应用程序.doc_第4页
基于数据库的应用程序.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于数据库的应用程序,通常需要打包成安装程序,delhpi环境典型打包工具为InstallShield Express,用来对目标环境进行配置。但如果一个基于BDE的小型工具,将整个BDE打包的话,正常程序变得很大,一个BDE有十几M,显然这个工具可能没有人去使用了。通过摸索,可以使用如下方法简化DBE,而不用将这个BDE打包。笔者在一个小工具中使用了paradox桌面数据库,而上层程序仅使用了TQuery组件,对BDE的打包和配置是按如下方法进行的。其优点是不需要安装,不需要写注册表,纯绿色。一. BDE看似很神秘很强大,但也不过就是几个DLL文件。以下DLL是必须的:1. Blw32.dll:语言驱动函数库。2. Idapi32.dll:BDE基本函数库。3. Idr20009.dll:错误信息库。4. Idsql32.dll:SQL查询驱动程序函数库。5. Idpdx32.dll:Paradox数据库驱动程序函数库。6. idbat32.dll: idbat32.dll:批操作驱动程序函数库。7. bantam.dll: 语言驱动函数库。上述函数可以放在任何目录下,当必须在注册表中指定这些函数所在的目录。当然也与你生产的可执行程序放在同一个目录下,这样就可以不在注册表中注册目录。二. 除了需要上述的DLL,如果开发的工具中使用了数据库别名,则还需要一个BDE配置文件Idapi32.cfg,其目录必须在注册表中指定。为了避免修改注册表,达到纯绿色工具的目的,应避免在上层应用程序中使用数据库别名。而直接指定数据库的目录:具体方法是在程序启动时动态指定TQuery连接的数据库。代码如下:form1.MainQuery.DatabaseName:=extractfiledir(application.exename)+database;上述示例数据库放在应用程序所在目录下的database目录下。上述就完成了一个纯绿色的基于数据库应用的应用程序。【以下为网上的一篇帖子 /ask7/ask136032.htm 】Delphi程序员都知道,在数据库应用程序开发完成后,要发布程序需要同时发布BDE(Borland Database Engine),否则会引起错误“A Error occurred while attempingto initilize Borland Database Engine(Error $2109)”。当觉得程序太大而辛辛苦苦精简自己的程序到满意时,却发现BDE管理程序器需要9M之巨,不由感到沮丧,真有点自己的努力被糟蹋的感觉。不过也不必太沮丧,只要肯尝试,还是有办法来精简BDE的。首先来看看BDE目录中的文件,所有文件确实有近9M大吧。不过有些可能是用不到的,关键文件的作用可参见Bde32.HLP中“Introduction to Borland Database Engine”下的“Core BDE Files”,其中列出了BDE的关键文件及其作用,可以以此作为依据来尝试精简BDE驱动程序。下面是各个文件的作用:一、不可缺少的文件 Blw32.dll:语言驱动函数库。 Idapi32.dll:BDE基本函数库。 Fareast.bll、Usa.bll:远东语言及美国语言驱动程序,对中文软件不可缺少。 Idr20009.dll:错误信息库。二、数据库驱动程序(根据需要选择一个或多个) Idasci32.dll:Ascii文本数据库驱动程序函数库,如果不用Ascii文本数据库,可以不要。 Iddao32.dll:Access数据库驱动程序函数库,如果不用Access数据库,可以不要。 Iddbas32.dll:dBase数据库驱动程序函数库,如果不用dBase数据库,可以不要。 Idodbc32.dll:ODBC数据库驱动程序函数库,如果不用ODBC数据库,可以不要。 Idpdx32.dll:Paradox数据库驱动程序函数库,如果不用Paradox数据库,可以不要。三、其它驱动程序和配置文件(根据需要选择一个或多个) Idbat32.dll:批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函数,可以不要。 Iddr32.dll:Data Repository驱动程序函数库,如果不用Data Repository功能,可以不要。 Idprov32.dll:BDE DataSet provide驱动程序函数库,如果不用TProvider控件,可以不要。Idqbe32.dll:QBE驱动程序函数库,如果不用Query By Example,可以不要。 Idsql32.dll:SQL查询驱动程序函数库,如果不用TQuery进行查询,可以不要。 Idapi32.cfg:BDE配置文件,如果程序中没有特殊要求,可以不要。也可以在BDE管理器中设置正确后再分发。四、其它文件(一般不用) BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。 BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件,如果不会发生要求软件用户自己配置BDE的情况时,可以不要。 其它*.BLL:其它国家和地区的语言驱动程序,可以不要。 DataBump.EXE、DataBump.HLP、DataBump.CNT:数据库数据转移工具及帮助文件,可以不要。 Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件,可以不要。 Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件,可以不要。 在根据需要选择文件后,还要写注册表文件。这个应该不成问题,可以手工设置,但最好在程序中设置,在发现注册表中没有相应键值时写入,用TRegFile对象用不了几行代码的。需要设置的注册表键值有(在调用数据库操作前需要有正确的键值存在):数据驱动程序所在目录的设置: HKEY_LOCAL_MACHINESoftwareBorlandDatabase EngineDLLPATH(字符串值)语言驱动程序所在目录的设置: HKEY_LOCAL_MACHINESoftware BorlandBLW32BLAPIPATH(字符串值)语言驱动程序文件名:HKEY_LOCAL_MACHINE SoftwareBorlandBLW32LOCALE_LIB#(字符串值) 其中#为编号,按顺序为0、1、2、3.如:HKEY_LOCAL_MACHINESoftwareBorlandBLW32LOCALE_LIB0=fareasst.bllHKEY_LOCAL_MACHINESoftwareBorlandBLW32LOCALE_LIB1=usa.bll就这些了,按此办法即可有效减少BDE驱动程序的大小,例如只用TTable控件操作Paradox数据库,则只要Idapi32.dll、Blw32.dll、Idr20009.dll、Fareast.bll、Usa.bll、Idpdx32.dll六个文件即可。这些文件可放在任何一个目录,只要在注册表指明即可。OK,BDE由9M多减到不到2M,ZIP一下就700多K了,比原来的应用系统减少了不少吧。【这个也是网上的帖子 /t/20020503/12/695827.html 】数据库驱动程序 - IDASCI32.DLL Ascii文本数据库驱动程序函数库。 IDDA3532.DLL Access数据库驱动程序函数库。 IDDAO32.DLL Access数据库驱动程序函数库。 IDDBAS32.DLL dBase数据库驱动程序函数库。 IDODBC32.DLL ODBC数据库驱动程序函数库。 IDPDX32.DLL Paradox数据库驱动程序函数库。 IDDR32.DLL Data Repository驱动程序函数库,如果不用Data Repository功能,可以不要。(Paradox only) IDBAT32.DLL 批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函数,可以不要。 IDQBE32.DLL QBE驱动程序函数库,如果不用Query By Example,可以不要。 IDR20009.DLL 错误信息库。 IDAPI32.DLL BDE基本函数库。 Idapi32.cfg BDE配置文件 IDSQL32.DLL SQL查询驱动程序函数库,如果不用TQuery进行查询,可以不要。 IDPROV32.DLL BDE DataSet provide驱动程序函数库,如果不用TProvider控件,可以不要。 语言驱动程序 - BANTAM.DLL 重要文件(必须) CHARSET.CVB 字符集 BLW32.DLL 语言驱动函数库 *.BTL 语言驱动程序。 Fareast.btl、Usa.btl:远东语言及美国语言驱动程序,对中文软件不可缺少。 Microsoft Transaction Server (MTS)文件 - DISP.DLL MTS dispensor DLL DISP.PAK 辅助工具 - BDEADMIN.* BDE 文件 DATAPUMP.* Data Pump data 工具文件 4.2 SQL Links Redistributable Files - You may redistribute the following files in accordance with the license agreement for this product: Interbase - SQLINT32.DLL InterBase SQL Links driver SQL_INT.CNF Default BDE configuration file for INT SQL Links For other files associated with InterBase deployment, consult the InterBase documentation. Oracle - SQLORA32.DLL Oracle 7 SQL Links driver SQL_ORA.CNF Default BDE configuration file for ORA SQL Links (Oracle 7) SQLORA8.DLL Oracle 8 SQL Links driver SQL_ORA8.CNF Default BDE configuration file for ORA8 SQL Links (Oracle 8) Sybase Db-Lib - SQLSYB32.DLL Sybase Db-Lib SQL Links driver SQL_SYB.CNF Default BDE configuration file for SYB Db-Lib SQL Links Sybase Ct-Lib - SQLSSC32.DLL Sybase Ct-Lib SQL Links driver SQL_SSC.CNF Default BDE configuration file for SYB Ct-Lib SQL Links Microsoft SQL Server - SQLMSS32.DLL Microsoft SQL Server SQL Links driver SQL_MSS.CNF Default BDE configuration file for MSS SQL Links Informix - SQLINF32.DLL Informix 7 SQL Links driver SQL_INF.CNF Default BDE configuration file for INF SQL Links (Informix 7) SQLINF9.DLL Informix 9 SQL Links driver SQL_INF9.CNF Default BDE configuration file for INF SQL Links (Informix 9) DB/2 - SQLDB232.DLL DB/2 version 2.x SQL Links driver SQL_DB2.CNF Default BDE configuration file for DB/2 version 2.x SQL Links SQLDB2V5.DLL DB/2 V5 (UDB) SQL Links driver SQL_DBV5.CNF Default BDE configuration file for DB/2 V5 (UDB) SQL Links 其它文件(一般不用) BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。 BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件。 DataBump.EXE、DataBump.HLP、DataBump.CNT:数据库数据转移工具及帮助文件。 Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件。 Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件。 BDE(其实只需有关Paradox的那一部分) 给打包进去?若能,如何做? - BANTAM DLL 101,376 10-10-98 5:01 bantam.dll CHARSET CVB 144,454 10-10-98 5:01 charset.cvb FAREAST BTL 517,810 10-10-98 5:01 fareast.btl IDAPI32 DLL 589,312 10-10-98 5:01 idapi32.dll IDBAT32 DLL 139,264 10-10-98 5:01 idbat32.dll IDDBAS32 DLL 454,144 10-10-98 5:01 iddbas32.dll IDPDX32 DLL 255,488 10-10-98 5:01 idpdx32.dll IDR2000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论