别名设置(100分)

  • 主题发起人 主题发起人 世风日下
  • 开始时间 开始时间

世风日下

Unregistered / Unconfirmed
GUEST, unregistred user!
制作安装盘时连接SQL SERVER 时怎样在安装设置里增加别名,安装盘制作完后BDE 别名能增加上
但是它的参数不对,请问怎么正阳才能正确设置
 
问题是你的数据库不在本地你就永远别想知道servername叫什么?
参树丛BDE配置里copy,可是不知能不能加user name和password?
 
ServerName需要知道叫什么名称,User Name可以加在BDE安装中,Password不可以,但你可以
写在程序中,看你喜不喜欢这样做了.我本来以前写得有,不知在哪儿去了.其实也很简单,而
且有许多书上讲得有,你不如去逛逛书店.呵呵...
帮你找到一些贴子,还有许多,自己搜吧.
002169
187751
226072
275683
166279
 
在设计安装的过程中,让用户自己选择别名,从现有的bde选择或者随意填写一个,
将选择的别名放在配置文件或者注册表里就可以了。在安装以后如果
别名有改变仅需要改变配置文件或者注册表.
 
ServerName:='ss';
UserName:='ss';
DriverName:='oracle';
try
Session1:=TSession.Create(nil);
aliasList := TStringList.Create;
DriverList := TStringList.Create;
Reg:=tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('/Software/Borland/Database Engine',false);
BdePath:=reg.ReadString('DLLPATH');

Session1.NetFileDir:=BdePath;
Session1.PrivateDir:=BdePath;
session1.SessionName:='Session1_1';
Session1.AutoSessionName:=true;
Session1.KeepConnections:=true;
DriverList.Add('SERVER NAME='+ServerName);
DriverList.Add('USER NAME='+UserName);
DriverList.Add('ENABLE BCD=TRUE');
DriverList.Add('ENABLE INTEGERS=TRUE');
DriverList.Add('SQLQRYMODE=SERVER');
DriverList.Add('DLL32=SQLORA8.DLL');
DriverList.Add('VENDOR INIT=OCI.DLL');
DriverList.Add('LANGDRIVER=Paradox China 936');
try
Session1.ModifyDriver(DriverName, DriverList);
//修改ORACLE驱动
Writeln('Oracle Driver has Modified!');
Writeln('');
except
Writeln('BDE Driver has not installed,Please Install BDE Driver');
Writeln('');
sleep(2000);
end;
AliasName:='Disburse';
session1.DeleteAlias(aliasName);
DriverList.Add('SERVER NAME='+ServerName);
DriverList.Add('USER NAME='+UserName);
aliasList.Add('ENABLE BCD=TRUE');
aliasList.Add('ENABLE INTEGERS=TRUE');
aliasList.Add('SQLQRYMODE=SERVER');
aliasList.Add('LANGDRIVER=Paradox China 936');
try
Session1.AddAlias(AliasName, 'ORACLE', aliasList);//添加别名
Writeln('AliasName is Created!');
Writeln('');
except
Writeln('AliasName Create failed!');
Writeln('');
sleep(2000);
end;
finally
session1.SaveConfigFile;
aliasList.Free;
DriverList.Free;
Session1.free;
reg.Free;
end;
end;
 
To Zhangkan:
你说password不可以在installshield里设置?如果我设置了,那会出什么错?
(我现在确实出错了,好像是“无效的键值...”)
 
你的设置要对应BDE中有的键值,而BDE中只有UserName栏位,没有PassWord栏位,当然要出错
了.如果将PassWord也如此暴露的放在BDE中,那还有什么安全性呢?
installshield中关于BDE的设置就是为了安装程序时按照你所设定的自动设定好BDE环境,不
用你再自己去设定BDE,所以你要按照BDE的环境去设,不能设BDE中没有的栏位.
 
我也在寻找这个问题的答案,如何把BDE配置在安装程序中自动配置好。可是你不知道服务
器的名字,现在我找到一个方法,不知道行不行:
可以在注册表中做一标识,专门做一配置BDE的小程序,在运行你的主程序前先查看注册表
中的标识,如果为0(默认值)则启动小程序,退出主程序。
在小程序中有个选项,本机做为服务器或者是客户机,如果选择客户机,要求输入服务器
的名字,如果本机做为服务器,则直接把本机的名字写入BDE。修改注册表标识为1。
这样有个好处:如果BDE配置发生变化了,只需重新运行小程序即可。
 
还不如做个控制台程序得了!
 
对不起。据说在IS中能行,但现在的提法是针对在程序中的配置,
而不是在制作安装盘过程中配置,帮助文件中说是可以,但是我
莫名其妙的成功了一次,之后再也没有成功,谢谢大家,请帮忙再看看
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
777
DelphiTeacher的专栏
D
D
回复
0
查看
835
DelphiTeacher的专栏
D
D
回复
0
查看
824
DelphiTeacher的专栏
D
D
回复
0
查看
880
DelphiTeacher的专栏
D
后退
顶部