我快要疯了!!!!!!再加100总共300分(100分)

  • 主题发起人 主题发起人 zhoushuai
  • 开始时间 开始时间
Z

zhoushuai

Unregistered / Unconfirmed
GUEST, unregistred user!
我快要自杀了。
我采用的是msaccess没有用odbc,我也不要求建立alies。
只要求IS express 安装我的程序后,
我用bde administrator 能启动access。
当我用bde administrator 建立alias并打开时
有如下错误
Cannot load an IDAPI service library.
File: D:/Program Files/Common Files/Microsoft Shared/DAO/DAO3032.DLL
Alias: zzz
 
自杀了就什么烦恼都没有了。(开玩笑的)

你在用IS做安装盘的时候,不给个别名是不行的,我试过多次,当不给个别名
时,做成的安装盘没有包含所有的数据库驱动程序。尽管我选择了所有数据库
类型。
所以,在做安装盘时,要设定一个Alia,虽然你不会用到它。但这样一来,IS
就会把所有的数据库类型的驱动程序都带上并注册了。

试试吧!
 
当然也可以自己安装数据库驱动程序。
 
我也碰到过,比你的还邪,装上delphi后再用bde连oracle也是报类似的错误。
最后重装系统就好了,你先试试
 
你用事务了吗?
 
是不是Delphi5?
 
呵呵, 到这里看看, 一定会解决你的问题:-)
http://delphidao.finalfiler.com/
 
可以在程序里打开数据库之前给database对象传参数。 database的alias 为空
drivername 为 msaccess

if database1.Connected then database1.close;
database1.Params.add('DATABASE NAME='+ExtractFilePath(ParamStr(0))+'/data/db2.mdb');
database1.params.add('OPEN MODE=READ/WRITE');
database1.Open;

这样就不用装bde的配置文件啦。
 
to guojun:
给了别名,但没用。
to g622
问题是如何安装数据库驱动程序。
to Crane
没用事务,很简单的程序。
to rixin
为delphi4
to cytown
看了,但不懂,望指点,最好发给我iwz
to kklf
问题不再别名上,是DAO没装好。
 
这个问题曾花费了我4小时。回答如下:
1.HKEY_LOCAL_MACHINE/Software/Borland/Database Engine/Settings/DRIVERS
必须有MsAccess的Keys
2.看你用了什么控件,TBDEDataSet所需要的dll要多一点,附带这些dll
3.建议:1>使用delphi5 Ado
2>使用TClientDataSet
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=191788
我的IWZ文件,已成功
注意将IDAPI.CFG打入安装包中
 
the iwz is for InstallShield LIMIT FOR D5
 

什么? 有人要自杀! 那我可不能袖手旁观, 哎呀!! 提问题的时间
是2000-1-22 12:51:35, 是不是已经自杀了! (开个玩笑)

应急措施如下: (先得把你手里的刀抢过来,不然人都死了说什么都没用了)

你现在立刻到安装了你的程序的机器上,执行
/Program Files/Common Files/Borland Shared/BDE/bdeadmin.exe
(这不就是BDE Administrator吗? 正是!)
选择Configuration页, Configuration -> Drivers -> Native ->
MSACCESS , 在右边将DLL32项改为IDDA3532.DLL , 保存并退出.
运行你的程序, 应该没有问题了吧! 即便还有错误,也肯定不是
> Cannot load an IDAPI service library.
> File: D:/Program Files/Common Files/Microsoft Shared/DAO/DAO3032.DLL
> Alias: zzz
这个错误了吧!


且听我慢慢道来:

其实,关于怎样制作安装盘之类的讨论已经很多了,高手们都说出了自己的
经验,有些的确很有道理.

我的体会是:
鉴于Delphi和C++Builder所带的InstallShield只支持英文,制作出来的安装
程序中英文混杂(因为我们的软件名称一般是中文的),颇为不伦不类,加之BDE
对Access的支持就不太好,还有你可能升级BDE的版本,这样InstallShield对
它又支持的不好.... 因此造成制作安装程序失败.

其实,安装程序的作用就是将自己的软件文件复制到用户的机器上并配置好,
所以,从某种意义上说,根本就不存在InstallShield for Delphi4, for Delphi5
for什么什么的问题, 所以我总是用InstallShield 5.1 东方版 ,一切细节
都自己设, 虽然比较麻烦, 但做好之后对自己做的程序的里里外外的事情
都清楚, 启不是很好吗?

象你的这个程序,在本机上运行肯定没问题,而且可以肯定在本机上找不到
DAO3032.DLL这个文件,这不正说明问题不在这吗? 可能是由于别的错引发
了这个错,至少是报错不准确.

访问Access数据库一般常用的方法有两种:
1. 直接用内置的驱动程序.
<1> 象上边那样将DLL32项改为IDDA3532.DLL
<2> 设置别名不要用BDE Administrator , 而是通过修改控件属性或
干脆在程序中用代码来设, 这样免得IDAPI.CFG这个配置文件设好
没设好的.
大致步骤如下:
[1] 将组件TDatabase,TDataSource,TTable,TDBGrid放在FORM上
[2] 双击Tdatabase
[3] 将Database Name设置成随便什么别名,如: aaa.
[4] Driver Name 设置成MSACCESS
[5] 单击Defaults按钮
DATABASE NAME=DRIVE:/PATH/DATABASE.MDB(你的数据库)
USER NAME=
OPEN MODE=READ/WRITE
LANGDRIVER=
SYSTEM DATABASE=(这一项如有必要可设上, /windows/system/system.mdw)
PASSWORD=
[6] 一般为了不要口令,将Login Prompt 的勾去掉
[7] 将TTable控件的DataBasename设为刚才的aaa

.................

2. 用ODBC, 最好用在程序中修改注册表的方法

不多说了,写了这么多有点困了.有问题Mail我. sj_sj@yeah.net

 
建议在所安装的那部机上安装 access97 或 access95 , BDE中MSACCESS DLL32 : IDDA3532.dll . 我原来也用DELPHI + access97 开发 , 如你用access95开发,则DLL32 : idda3032.dll
 
其实这事说出来笑掉大牙!
仅仅是路径设置的问题!

你到DOS下用PATH看一下,肯定没有BORLAND的任何一项,
只有WINDOWS和WINDOWS/COMMAND俩!

你使用“开始|运行”,敲入SYSEDIT,修改AUTOEXEC.BAT,
注意在PATH命令的参数中(即所有路径)不能有一个空白,
不信你可以在DOS中运行AUTOEXEC,
它会告诉你参数太多了(TOO MANY PARAMETERS)。
如果碰到Program Files一类的目录,用PROGRA~1来代替。
假如你认为一行太长了,可这样用:
PATH c:/orawin95/bin;c:/oracle/bin;
SET PATH=%PATH%;C:/PROGRA~1/BORLAND/DELPHI5/BIN;

顺便告诉你,我第一次遇到这问题,
忙了两天后,由于实在急,迫不得已把系统格式化后重装!
刚好今天又遇到这问题,不信这邪,上BORLAND站点,上ORACLE,
最后发现是这劳什子问题!
不过其实在这个论坛上已经有人回答过类似的问题了!
 
zzz是什么?
 
唉!又是"MS" 的"Access"
-- ------
 
1 客户机安装access
2 选择Configuration页, Configuration -> Drivers -> Native ->
MSACCESS , 在右边将DLL32项改为IDDA3532.DLL , 保存并退出.
3 为mdb文件配置一个odbc,在odbc 中repair 该mdb

 
我也做过安装程序,若不能用一般是缺文件,所以打包时全要打包,
实在不行就在新机器上装一下BDE or access.方法较笨,但有时管用。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
I
回复
0
查看
881
import
I
后退
顶部