这个问题最好不要再浪费时间,把BDE全部拷上完事!
否则你会很惨!
而且不同的BDE版本也不一样!
不同的数据库,不同的连接方式,在程序中的写法不同需要的BDE也不同!

解决方案 »

  1.   

    只拷贝BDE文件是不行的,还要写注册表:必需的注册表项目包括:1. BDE动态连接库文件位置设置Key : "HKEY_LOCAL_MACHINE\Software\Borland\Database Engine"
    Item : "DLLPATH"
    Value : BDE动态连接库文件所在位置,如"C:\Program Files\Borland\Common Files\BDE"(打开"C:\Program Files\Borland\Common Files\BDE\BDE32.hlp",
    查找"Core Files"即可了解BDE各动态连接库文件的作用)2. BDE语言驱动文件路径设置Key : "HKEY_LOCAL_MACHINE\Software\Borland\BLW32"
    Item : "BLAPIPATH"
    Value : BDE语言驱动文件所在路径,如"C:\Program Files\Borland\Common Files\BDE"(BDE语言驱动就是那些*.BLL文件)
    3. 指定可用的BDE语言驱动文件Key : "HKEY_LOCAL_MACHINE\Software\Borland\BLW32"
    Item : "LOCALE_LIB#" (#表示数字, 如"LOCALE_LIB1"、"LOCALE_LIB3"等)
    Value : 指定各BDE语言驱动文件,如"C:\Program Files\Borland\Common Files\BDE\USA.BLL"(一般必需的语言驱动文件有"USA.BLL","EUROPE.BLL"和"FAREAST.BLL",为保险起见,建议将所有语言驱动都设置上。在安装了Delphi3的机器上,用Regedit打开注册表,一看你就明白了怎么设了)
      

  2.   

    依你所说的看,你做的应该是单机版的数据库应用程序,这种方法在delphi5上一样行;
    还有一种方案,就是用安装程序制作工具如installshield制作程序的安装版本,在制作的过程中可设置一些属性和做一些操作(呵呵,挺麻烦的,必须了解安装制作工具的使用方法),使安装程序包含DBE并在安装过程中帮你在客户机上注册BDE(当然,如果客户机安装了delphi就不用考虑BDE的问题啦).
      

  3.   

    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_MACHINE\Software\Borland\Database Engine\DLLPATH(字符串值) ---- 语言驱动程序所在目录的设置: ---- HKEY_LOCAL_MACHINE\Software \Borland\BLW32\BLAPIPATH(字符串值) ---- 语言驱动程序文件名:HKEY_LOCAL_MACHINE\ Software\Borland\BLW32\LOCALE_LIB#(字符串值)  其中#为编号,按顺序为0、1、2、3......如:
     HKEY_LOCAL_MACHINE\Software\BorlandBLW32\LOCALE_LIB0="fareasst.bll"
     HKEY_LOCAL_MACHINE\Software\Borland
    \BLW32\LOCALE_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了,比原来的应用系统减少了不少吧。 
      

  4.   

    别听这些文章的,没了BDE配置文件.cfg,也是白搭。而且手动注册的东西,容易出现各种问题,最典型的是不能再装要BDE的软件。老实的听Hank(星星农场)的就是了,否则的确会吃。。
      

  5.   

    呵呵,"而且手动注册的东西,容易出现各种问题"???
    你将BDE拷完就OK了?拜托!说话负责任点。
      

  6.   

    用BDE太麻烦了,建议你去http://www.21jx.com/~tinydb/main.htm看看。
      

  7.   

    The core BDE files include:
    .
    .
    .
    IDAPI.CFG  File containing application-specific BDE configuration information, primarily database aliases.
    .
    .
    .
      

  8.   

    TClientDataSet不需要依赖于BDE,这意味着应用程序不必为BDE开销内存,但数据本身需要内存。TClientDataSet只需要一个动态链接库DBCLIENT.DLL的支持,因此,发布和安装用TClientDataSet建立的程序是比较简单的,省掉了BDE的配置和维护。正因为TClientDataSet没有使用BDE,因此,基于文件的单层数据库应用程序不适用于多用户环境下使用。尽管TClientDataSet不支持BDE,但由于TClientDataSet是从TDataSet继承下来的,因此,大多数能对TTable构件进行的操作也能对TClientDataSet构件进行,包括用标准的数据控件显示TClientDataSet引入的数据。不必使用TDatabase构件,因为没有数据库需要管理,也不需要支持事务。也不必使用TSession构件,除非应用程序是多线程的。基于BDE的数据库应用程序和基于文件的数据库应用程序的区别在于,创建数据集的方式和存取数据的方式不同。
      

  9.   

    to baiz
    //这段话好象是《Delphi 4 核心编程技术》里讲的?