下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师读书交流会发言稿五篇-发言稿
- 《Web前端开发》期中试题A
- 福建省莆田市涵江区2022-2023学年七年级下学期期中综合评估数学试卷(答案不全)
- 2023年微信推广方案三篇
- 2021年七一建党节100周年活动策划方案
- 三人合作协议书
- 技术工程服务合同
- 年中工作总结汇报课件
- 委托招商协议
- 石油钻井工考试:初级石油钻井工题库
- 心理健康《如何陪伴孩子度过青春期》课件
- 模型12 脚拉脚模型(学生用)
- 构建新型顾客满意度指数模型基于SCSB、ACSI、ECSI的分析
- 《美容化妆品学》课件
- 江苏省常州市2023年中考数学试题(附真题答案)
- 人工智能在智能电动汽车中的应用
- 《管理技能开发》课件
- 使用说话瓣膜病人的护理
- 充电桩采购安装投标方案(技术方案)
- 妙用高中数学16个二级结论高效解题
- 建设立项申报书.doc
评论
0/150
提交评论