[计算机]基于数据库的应用程序_第1页
[计算机]基于数据库的应用程序_第2页
[计算机]基于数据库的应用程序_第3页
[计算机]基于数据库的应用程序_第4页
[计算机]基于数据库的应用程序_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、基于数据库的应用程序,通常需要打包成安装程序,delhpi环境典型打包工具为InstallShield Express,用来对目标环境进行配置。但如果一个基于BDE的小型工具,将整个BDE打包的话,正常程序变得很大,一个BDE有十几M,显然这个工具可能没有人去使用了。通过摸索,可以使用如下方法简化DBE,而不用将这个BDE打包。笔者在一个小工具中使用了paradox桌面数据库,而上层程序仅使用了TQuery组件,对BDE的打包和配置是按如下方法进行的。其优点是不需要安装,不需要写注册表,纯绿色。一. BDE看似很神秘很强大,但也不过就是几个DLL文件。以下DLL是必须的:1. Blw32.dl

2、l:语言驱动函数库。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配置文件Idapi

3、32.cfg,其目录必须在注册表中指定。为了避免修改注册表,达到纯绿色工具的目的,应避免在上层应用程序中使用数据库别名。而直接指定数据库的目录:具体方法是在程序启动时动态指定TQuery连接的数据库。代码如下:form1.MainQuery.DatabaseName:=extractfiledir(application.exename)+'database'上述示例数据库放在应用程序所在目录下的database目录下。上述就完成了一个纯绿色的基于数据库应用的应用程序。【以下为网上的一篇帖子 /ask7/ask136032.htm 】De

4、lphi程序员都知道,在数据库应用程序开发完成后,要发布程序需要同时发布BDE(Borland Database Engine),否则会引起错误“A Error occurred while attempingto initilize Borland Database Engine(Error $2109)”。当觉得程序太大而辛辛苦苦精简自己的程序到满意时,却发现BDE管理程序器需要9M之巨,不由感到沮丧,真有点自己的努力被糟蹋的感觉。不过也不必太沮丧,只要肯尝试,还是有办法来精简BDE的。首先来看看BDE目录中的文件,所有文件确实有近9M大吧。不过有些可能是用不到的,关键文件的作用可参见Bd

5、e32.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文本数据

6、库,可以不要。 Iddao32.dll:Access数据库驱动程序函数库,如果不用Access数据库,可以不要。 Iddbas32.dll:dBase数据库驱动程序函数库,如果不用dBase数据库,可以不要。 Idodbc32.dll:ODBC数据库驱动程序函数库,如果不用ODBC数据库,可以不要。 Idpdx32.dll:Paradox数据库驱动程序函数库,如果不用Paradox数据库,可以不要。三、其它驱动程序和配置文件(根据需要选择一个或多个) Idbat32.dll:批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函数,可以不要。 Iddr32.dll

7、: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:B

8、DE帮助文件,可以不要。 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连接帮助文件,可以不要。 在根据需要选择文件后,还要写注册表文件。这个应该不成问题,可以

9、手工设置,但最好在程序中设置,在发现注册表中没有相应键值时写入,用TRegFile对象用不了几行代码的。需要设置的注册表键值有(在调用数据库操作前需要有正确的键值存在):数据驱动程序所在目录的设置: HKEY_LOCAL_MACHINESoftwareBorlandDatabase EngineDLLPATH(字符串值)语言驱动程序所在目录的设置: HKEY_LOCAL_MACHINESoftware BorlandBLW32BLAPIPATH(字符串值)语言驱动程序文件名:HKEY_LOCAL_MACHINE SoftwareBorlandBLW32LOCALE_LIB#(字符串值) 其中#

10、为编号,按顺序为0、1、2、3.如:HKEY_LOCAL_MACHINESoftwareBorlandBLW32LOCALE_LIB0="fareasst.bll"HKEY_LOCAL_MACHINESoftwareBorlandBLW32LOCALE_LIB1="usa.bll"就这些了,按此办法即可有效减少BDE驱动程序的大小,例如只用TTable控件操作Paradox数据库,则只要Idapi32.dll、Blw32.dll、Idr20009.dll、Fareast.bll、Usa.bll、Idpdx32.dll六个文件即可。这些文件可放在任何一个目

11、录,只要在注册表指明即可。OK,BDE由9M多减到不到2M,ZIP一下就700多K了,比原来的应用系统减少了不少吧。【这个也是网上的帖子 】数据库驱动程序         -         IDASCI32.DLL       Ascii文本数据库驱动程序函数库。         IDDA3532.DLL  

12、;     Access数据库驱动程序函数库。         IDDAO32.DLL         Access数据库驱动程序函数库。         IDDBAS32.DLL       dBase数据库驱动程序函数库。     &#

13、160;   IDODBC32.DLL       ODBC数据库驱动程序函数库。         IDPDX32.DLL         Paradox数据库驱动程序函数库。             IDDR32.DLL    

14、       Data   Repository驱动程序函数库,如果不用Data   Repository功能,可以不要。(Paradox   only)         IDBAT32.DLL         批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函数,可以不要。 

15、0;       IDQBE32.DLL         QBE驱动程序函数库,如果不用Query   By   Example,可以不要。         IDR20009.DLL       错误信息库。         ID

16、API32.DLL         BDE基本函数库。         Idapi32.cfg         BDE配置文件         IDSQL32.DLL         SQL查询驱动程序函数库,如果不用T

17、Query进行查询,可以不要。           IDPROV32.DLL       BDE   DataSet   provide驱动程序函数库,如果不用TProvider控件,可以不要。             语言驱动程序       &#

18、160; -         BANTAM.DLL           重要文件(必须)         CHARSET.CVB         字符集         BLW32.DLL  

19、;           语言驱动函数库         *.BTL                     语言驱动程序。          

20、; Fareast.btl、Usa.btl:远东语言及美国语言驱动程序,对中文软件不可缺少。               Microsoft   Transaction   Server   (MTS)文件         -         DISP.DLL 

21、0;             MTS   dispensor   DLL         DISP.PAK             辅助工具         -    &

22、#160;    BDEADMIN.*           BDE   文件         DATAPUMP.*           Data   Pump   data   工具文件   

23、0;   4.2   SQL   Links   Redistributable   Files   -   You   may   redistribute   the   following   files   in   accordance   with   the

24、0;  license   agreement   for   this   product:             Interbase         -         SQLINT32.DLL      

25、;   InterBase   SQL   Links   driver         SQL_INT.CNF           Default   BDE   configuration   file   for   INT 

26、0;                                         SQL   Links        

27、60;    For   other   files   associated   with   InterBase   deployment,         consult   the   InterBase   documentation.        

28、;     Oracle         -         SQLORA32.DLL         Oracle   7   SQL   Links   driver         S

29、QL_ORA.CNF           Default   BDE   configuration   file   for   ORA                      

30、0;                  SQL   Links   (Oracle   7)         SQLORA8.DLL           Oracle   8

31、60;  SQL   Links   driver         SQL_ORA8.CNF         Default   BDE   configuration   file   for   ORA8        

32、60;                                SQL   Links   (Oracle   8)          

33、0;  Sybase   Db-Lib         -         SQLSYB32.DLL         Sybase   Db-Lib   SQL   Links   driver       &

34、#160; SQL_SYB.CNF           Default   BDE   configuration   file   for   SYB                     

35、60;                   Db-Lib   SQL   Links             Sybase   Ct-Lib         -   &#

36、160;     SQLSSC32.DLL         Sybase   Ct-Lib   SQL   Links   driver         SQL_SSC.CNF           Default 

37、60; BDE   configuration   file   for   SYB                                     &

38、#160;   Ct-Lib   SQL   Links             Microsoft   SQL   Server         -         SQLMSS32.DLL     

39、0;   Microsoft   SQL   Server   SQL   Links   driver         SQL_MSS.CNF           Default   BDE   configuration   file 

40、  for   MSS                                         SQL   Links   

41、0;         Informix         -         SQLINF32.DLL         Informix   7   SQL   Links   driver    &#

42、160;    SQL_INF.CNF           Default   BDE   configuration   file   for   INF                  

43、0;                      SQL   Links   (Informix   7)         SQLINF9.DLL         

44、0; Informix   9   SQL   Links   driver         SQL_INF9.CNF         Default   BDE   configuration   file   for   INF    

45、                                     SQL   Links   (Informix   9)     

46、        DB/2         -         SQLDB232.DLL         DB/2   version   2.x   SQL   Links   driver   &#

47、160;     SQL_DB2.CNF           Default   BDE   configuration   file   for   DB/2                 

48、60;                       version   2.x   SQL   Links         SQLDB2V5.DLL         DB

49、/2   V5   (UDB)   SQL   Links   driver         SQL_DBV5.CNF         Default   BDE   configuration   file   for   DB/2 &#

50、160;                                       V5   (UDB)   SQL   Links    

51、;     其它文件(一般不用)           BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。           BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件。         DataBump.EXE、DataBump.HL

52、P、DataBump.CNT:数据库数据转移工具及帮助文件。           Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件。           Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件。               BDE(其实只需有

53、关Paradox的那一部分)   给打包进去?若能,如何做?             -         BANTAM       DLL               101,376 

54、60;   10-10-98       5:01   bantam.dll         CHARSET     CVB               144,454     10-10-98 &#

55、160;     5:01   charset.cvb         FAREAST     BTL               517,810     10-10-98       5:

56、01   fareast.btl         IDAPI32     DLL               589,312     10-10-98       5:01   idapi32.dll 

57、;        IDBAT32     DLL               139,264     10-10-98       5:01   idbat32.dll       

58、;  IDDBAS32   DLL               454,144     10-10-98       5:01   iddbas32.dll         IDPDX32     D

59、LL               255,488     10-10-98       5:01   idpdx32.dll         IDR20009   DLL           

温馨提示

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

评论

0/150

提交评论